- COMMIT zur erfolgreichen Beendigung der Transaktion sowie
- ROLLBACK, um die Transaktion abzubrechen, z. B. aufgrund von erkannten Eingabefehlern oder sonstigen in der Anwendung erkannten Ausnahmesituationen, welche der weiteren Ausführung der Transaktion entgegenstehen.
Abb. 13.3 zeigt den Kontrollfluß zwischen Anwendungsprogramm und DBS im Normalfall. Während der Ausführung der Transaktion sind Logging-Maßnahmen erforderlich, um zu Änderungsoperationen geeignete Informationen zu protokollieren, insbesondere um die Rücksetzbarkeit (Undo-Recovery) der Transaktion sicherzustellen. Weiterhin können bestimmte Integritätsbedingungen wie etwa Wertebereichsbeschränkungen von Attributen unmittelbar bei der Ausführung von Änderungsoperationen vom DBS geprüft werden. Besondere Bedeutung zur Transaktionsverwaltung kommt der Commit-Verarbeitung zu, die in zwei Phasen abläuft (Zwei-Phasen-Commit). Hierbei wird in Phase 1 zunächst geprüft, ob alle noch nicht direkt geprüften und von den vorgenommenen Änderungen betroffenen Integritätsbedingungen erfüllt sind. Ist dies der Fall, werden die für die Wiederholbarkeit der Änderungen (Redo-Recovery) erforderlichen Log-Daten gesichert. Danach ist das erfolgreiche Ende der Transaktion sichergestellt. In Phase 2 werden dann die vorgenommenen Änderungen in der Datenbank allgemein zugänglich gemacht (z. B. durch Freigabe von Sperren) und das erfolgreiche Transaktionsende der Anwendung bestätigt. Ein Zurücksetzen der Transaktion erfolgt, wenn die Transaktion durch einen Fehler vor oder während der Commit-Phase 1 unterbrochen wird oder die Verletzung einer Integritätsbedingung festgestellt wird.
Aufgabe der Transaktionsverwaltung des DBS ist es, die Abarbeitung der Transaktionen zu kontrollieren und die zur Wahrung der ACID-Eigenschaften benötigten Funktionen bereitzustellen. Dies erfordert Funktionen zur Synchronisation (Sicherstellung der Isolation), für Logging und Recovery (Atomarität und Dauerhaftigkeit) sowie zur Integritätskontrolle (Konsistenz). Zwischen diesen Funktionen bestehen zahlreiche Wechselwirkungen und Abhängigkeiten, die für korrekte und leistungsfähige Implementierungen zu beachten sind. Ebenso bestehen enge Abhängigkeiten zu anderen DBS-Komponenten wie Pufferverwaltung, Seitenzuordnungs- und Speicherungsstrukturen. Die enge Beziehung zwischen Logging und Recovery ist dabei offensichtlich, da zum Durchführen der Recovery (Fehlerbehandlung) ausreichende Log-Daten im Normalbetrieb zu sammeln sind. Die Diskussion der Commit-Verarbeitung verdeutlichte Abhängigkeiten zwischen Integritätskontrolle, Logging und Synchronisation (Sichtbarmachen von Änderungen). Auf weitere Abhängigkeiten wird bei der Behandlung der einzelnen Funktionen näher eingegangen, u. a. in Abschnitt 15.3