MaxDB lässt konkurrierende Transaktionen auf Datenbankobjekten zu. Dazu wird ein Sperrkonzept benutzt, das zur Kapselung einzelner Transaktionen Sperren auf Zeilen und Tabellen anlegt. Eine wichtige Rolle dabei spielt die Sperrebetriebsart. Diese wird durch Festlegen eines Isolation Level bestimmt.
Vorschlagswert des Systems für die Sperrbetriebsart ist Committed.
Die eingestellte Sperrebetriebsart kann von der Anwendung mit Hilfe der Funktion SQLSetConnectAttr übersteuert und mit SQLGetConnectAttr abgefragt werden.
IsolationLevel =
Uncommitted
| Committed
| Repeatable
| Serializable
Übersicht über die möglichen Sperrbetriebsarten
Dirty Read |
Non-repeatable Read |
Phantom Read |
|
Uncommitted |
x |
x |
x |
Committed |
|
x |
x |
Repeatable |
|
|
x |
Serializable |
|
|
|
Die Sperrbetriebsart Uncommitted entspricht dem schwächsten Isolation-Level (0), Serializable entspricht dem stärksten Isolation-Level (4).
Für die Änderung der Option IsolationLevel verfahren Sie, wie unter Anlegen und Ändern von Datenquellen unter UNIX/Linux beschrieben.
Der so definierte Wert gilt dann für alle Verbindungen der Datenquelle.