Bei einem Fehler im System muss die Fehlerbehandlung Folgendes leisten:
Sie muss alle offenen Transaktionen zurücksetzen können. Dies geschieht wie bei einem Fehler im Anwenderprogramm mit Hilfe der Before-Images.
Sie muss die Ergebnisse aller abgeschlossenen Transaktionen, die sich noch nicht auf der Datenbank befinden, in die Datenbank einbringen. Dies geschieht mit Hilfe von After-Images (After-Images beschreiben den Zustand von Daten nach ihrer Änderung). Dazu werden die After-Images jeder Transaktion auf die RLOG-Datei geschrieben. Das Schreiben der After-Images erfolgt spätestens beim Transaktionsende.
Warmstart
Nach einem Absturz des DBH sind die betroffenen Datenbanken zunächst inkonsistent, sofern sie während der Session verändert wurden. Werden diese Datenbanken einer Konfiguration zugeschaltet, so führt UDS/SQL als Erstes für diese Datenbanken einen Warmstart durch. Dabei werden abgeschlossene Transaktionen nachgefahren, und offene Transaktionen zurückgesetzt. Anschließend werden die Datenbanken als konsistent markiert.
Wenn es sich um eine openUTM-Anwendung handelt, so findet eine Synchronisation mit openUTM bezüglich der Zustände der einzelnen Transaktionen statt. Für diese Synchronisation wird die Status-Datei benötigt (siehe Abschnitt „Status-Datei“).
Wenn es sich um eine UDS-D-Anwendung handelt, so ist zusätzlich eine Synchronisation globaler Transaktionen erforderlich. Globale Transaktionen sind Transaktionen, für die in mehr als einem DBH DML-Anweisungen verarbeitet wurden. Auch für diese Synchronisation wird die Statusdatei benötigt.
Nach einem DBH-Absturz dürfen Sie die betreffenden Datenbanken bis zum Warmstart nicht verändern. Von dieser Regel gibt es folgende Ausnahmen:
Beim oder nach dem Absturz wurde die Datenbank zerstört. Dann müssen Sie eine Sicherung einspielen, und mit dem Dienstprogramm BMEND diese Sicherung bis zum Absturzzeitpunkt nachfahren (Anweisung UPDATE-DATABASE, DEADLINE = BREAK-POINT).
Nach dem Absturz wurden nur DMS-Katalogeinträge der betroffenen Dateien, aber nicht deren Inhalt geändert (z.B. nach Dateireorganisation durch das Rechenzentrum, Auslagerung und Wiedereinlagerung durch HSMS).
In diesem Fall kann es sein, dass der DBH den Warmstart verweigert. Dann müssen Sie die abgestürzte Datenbank mit dem Dienstprogramm BMEND bis zum Absturzzeitpunkt nachfahren (Anweisung UPDATE-DATABASE, DEADLINE = BREAK-POINT).
Session-Wiederanlauf
UDS/SQL vermerkt sich die aktuelle Konfiguration in der SLF (siehe Abschnitt „Session-Log-File (SLF)“). Wenn der DBH nach einem Absturz mit dem gleichen Konfigurationsnamen gestartet wird, nimmt der DBH die DBH-Ladeparameter aus der SLF. Die DBH-Ladeparameter, die Sie beim Starten des DBH angegeben haben, werden dann nicht berücksichtigt.
Dieser Vorgang heißt Session-Wiederanlauf.
Wenn Sie keinen Session-Wiederanlauf wollen, müssen Sie vor dem Start des DBH die SLF löschen.