We kunnen expliciet sloten uitgeven met het commando LOCK TABLE. Meer informatie
Anders vergrendelt een invoeging geen andere rijen. Vanwege het leesisolatiemodel van Oracle bestaat die rij alleen in onze sessie totdat we hem committen, dus niemand anders kan er iets mee doen. Meer informatie .
Een update-instructie vergrendelt alleen de betreffende rijen. Tenzij we een pessimistische sluitstrategie hebben geïmplementeerd met SELECT ... FOR UPDATE. Meer informatie .
Ten slotte blokkeren schrijvers in Oracle geen lezers. Dus zelfs vergrendelde rijen kunnen door andere sessies worden gelezen, ze kunnen alleen niet worden gewijzigd. Meer weten .
Dit gedrag is ingebakken in de Oracle-kernel en kan niet worden geconfigureerd.
Justin maakt een goed punt over de DDL-vergrendeling op tafelniveau. Die vergrendeling zorgt ervoor dat een sessie die DDL op de tafel uitvoert, wacht tot de DML-sessie zich commit, tenzij de DDL zoiets is als CREATE INDEX, in welk geval het onmiddellijk zal mislukken met ORA-00054.