Het probleem dat je beschrijft heet Write Skew.
In principe zorgt SERIALIZEABLE transactie-isolatie hiervoor, maar niet in Oracle DB . Oracle biedt alleen snapshot-isolatie, zelfs als u om SERIALIZABLE vraagt.
In Oracle is vrijwel de enige betrouwbare oplossing het gebruik van een soort vergrendeling. Dit hoeft niet per se een vergrendeling op een tabelrij te zijn, daarvoor kunt u ook adviserende vergrendelingen gebruiken via DBMS_LOCK.