Masalah yang Anda gambarkan disebut Write Skew.
Pada prinsipnya, isolasi transaksi SERIALIZEABLE menangani hal ini, tetapi tidak di Oracle DB . Oracle hanya menyediakan isolasi snapshot, bahkan ketika Anda meminta SERIALIZABLE.
Di Oracle, satu-satunya solusi yang dapat diandalkan adalah menggunakan semacam penguncian. Ini tidak harus berupa kunci pada baris tabel, Anda juga dapat menggunakan kunci penasehat melalui DBMS_LOCK untuk itu.