Anfang des Inhaltsbereichs

Komponentendokumentation Sperrverhalten Dokument im Navigationsbaum lokalisieren

Das Datenbanksystem SAP DB verfügt über eine vollständige Implementierung von Transaktionen und lässt konkurrierende Transaktionen auf den gleichen Datenbankobjekten zu. Um eine Synchronisation und eine Isolation einzelner Transaktionen zu gewährleisten, sind Sperrverfahren erforderlich.

Sperrverfahren

Die Grundidee von Sperrverfahren besteht darin, dass die Transaktionen so viele der von ihnen benutzten Datenbankobjekte so lange sperren, dass im Ergebnis eine korrekte Ausführung der Transaktion vorliegt.

Ein Objekt sperren heißt, dieses Objekt wird gegen bestimmte Formen der Nutzung durch andere Transaktionen gesperrt.

Je mehr Sperren gesetzt und je länger die Sperren erhalten bleiben, desto weniger Parallelität kann im Datenbankbetrieb realisiert werden. Es sollten daher nur unbedingt notwendige Sperren gesetzt werden und gesetzte Sperren sollten möglichst frühzeitig wieder freigegeben werden.

·       Sperrverfahren unterscheiden sich durch die Wahl der Art der Sperre.

·       Sperren können implizit oder explizit angefordert oder freigegeben werden (Sperre anfordern/freigeben).

·       Sperren können auf Zeilen-, Tabellen- und Datenbankkatalogebene gesetzt werden.
Werden zu viele Zeilensperren (Lese- oder Schreibsperren) von einer Transaktion für eine Tabelle angefordert, versucht das Datenbanksystem, dafür eine Tabellensperre zu erhalten. Treten dabei Kollisionen mit anderen Sperren auf, werden weiter Zeilensperren angefordert. Dies bedeutet, dass zum Erhalt einer Tabellensperre keine Wartezustände eintreten. Die Grenze, ab der versucht wird, Zeilensperren in eine Tabellensperre zu verwandeln, hängt vom allgemeinen Datenbankparameter MAXLOCKS ab.

Ende des Inhaltsbereichs