Schreibsperre
Wenn eine Transaktion eine Schreibsperre auf ein Datenbankobjekt setzt, dann steht das betreffende Datenbankobjekt nur dieser Transaktion zur Verfügung und kann nur durch diese Transaktion geändert werden. Andere Transaktionen, die das Vorhandensein von Schreibsperren prüfen oder Schreib- oder Lesesperren setzen wollen, kollidieren mit der bestehenden Schreibsperre dieser Transaktion (Sperrkollision). Sie erhalten weder lesenden noch schreibenden Zugriff auf das gesperrte Objekt.
Schreibsperren können für den Datenbankkatalog, Tabellen oder Tabellenzeilen gesetzt werden.
Eine Schreibsperre wird mit dem Ende der
betreffenden Transaktion vom Datenbanksystem freigegeben. Sie kann auch mit
der
UNLOCK-Anweisung
vom entsprechenden Benutzer freigegeben werden. Dies ist jedoch nur dann
möglich, wenn das Datenbankobjekt nicht geändert wurde. Wenn das
Datenbankobjekt mit einer SQL-Anweisung geändert wurde (z. B. mittels INSERT-,
UPDATE-, oder DELETE-Anweisung), dann bleibt die Schreibsperre bis zum Ende
der Transaktion erhalten.
Die Schreibsperre wird auch EXCLUSIVE-Sperre genannt.
Siehe auch: