Problém, který popisujete, se nazývá Write Skew.
V zásadě se o to stará izolace transakcí SERIALIZEABLE, ale ne v Oracle DB . Oracle poskytuje pouze izolaci snímků, i když požadujete SERIALIZAČNÍ.
V Oracle je téměř jediným spolehlivým řešením použití nějakého druhu zamykání. Nemusí to být nutně zámek na řádku tabulky, k tomu můžete také použít poradní zámky přes DBMS_LOCK.