Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Ablauf des Zwei-Phasen-Ende-Protokolls bei Verteilung über UDS-D

&pagelevel(4)&pagelevel

Die FINISH-Anweisung im Anwenderprogramm leitet das Zwei-Phasen-Ende-Protokoll ein.

Beim Zwei-Phasen-Ende-Protokoll werden Teiltransaktionen mit und ohne UPDATE-Kennzeichnung unterschieden. Jede Teiltransaktion hat zunächst unabhängig vom Eröffnungsmodus (READY) der Datenbank(en) keine UPDATE-Kennzeichnung. Erst nach erfolgreicher Ausführung einer ändernden DML-Anweisung in einer Datenbank erhält eine Teiltransaktion die UPDATE-Kennzeichnung.

Erste Phase des Zwei-Phasen-Ende-Protokolls

1.

Die Verteilkomponente in der Anwendertask sendet

  • die FINISH-Anweisung an alle sekundären Teiltransaktionen ohne UPDATE-Kennzeichnung

  • eine PETA-Anweisung an alle sekundären Teiltransaktionen mit UPDATE-Kennzeichnung (PETA: Preliminary End of Transaction)

Die PETA-Anweisung bewirkt, dass in der RLOG-Datei der jeweiligen Konfiguration ausfallsicher gespeichert werden:

  • alle Seiten, die von der jeweiligen sekundären Teiltransaktion geändert wurden,

  • die Rücksetzinformationen und

  • die Namen aller beteiligten Konfigurationen für den Fall, dass ein Warmstart nötig wird.

In den noch folgenden Schritten ist mit „sekundäre Teiltransaktion“ grundsätzlich „sekundäre Teiltransaktion mit UPDATE-Kennzeichnung“ gemeint, da die übrigen sekundären Teiltransaktionen bereits abgeschlossen sind.

2.

Die sekundären Teiltransaktionen führen die PETA-Anweisung durch und melden der primären Teiltransaktion, ob die PETA-Anweisung ohne Fehler durchgeführt werden konnte oder nicht.

3.

Wenn die primäre Teiltransaktion von jeder sekundären Teiltransaktion eine Meldung erhalten hat, prüft sie, ob die Durchführung der PETA-Anweisung bei allen sekundären Teiltransaktionen erfolgreich war.

Abhängig davon wird 4a. oder 4c. durchgeführt.

Falls die primäre Teiltransaktion nach Ablauf einer von PP CHCKTIME abhängigen Zeitspanne nicht von allen sekundären Teiltransaktionen eine Meldung erhalten hat, wird die primäre Teiltransaktion mit FINISH WITH CANCEL beendet und die sekundären Teiltransaktionen werden aufgefordert, sich ebenfalls mit FINISH WITH CANCEL zu beenden.
Das Anwenderprogramm erhält den Statuscode 122.

Zweite Phase des Zwei-Phasen-Ende-Protokolls

4a.

Wenn alle sekundären Teiltransaktionen die PETA-Anweisung erfolgreich durchgeführt haben, wird die primäre Teiltransaktion mit Festschreiben der Änderungen (FINISH) beendet. Wenn der FINISH der primären Teiltransaktionen gelingt, wird 4b. ausgeführt. Falls der FINISH der primären Teiltransaktion nicht erfolgreich durchgeführt werden kann, werden die sekundären Teiltransaktionen zurückgesetzt.

4b.

Alle sekundären Teiltransaktionen werden aufgefordert, sich mit FINISH zu beenden.

4c.

Wenn nicht alle sekundären Teiltransaktionen die PETA-Anweisung erfolgreich durchführen konnten, wird die primäre Teiltransaktion mit Zurücksetzen der Änderungen beendet (FINISH WITH CANCEL) und es werden die sekundären Teiltransaktionen aufgefordert, sich ebenfalls mit FINISH WITH CANCEL zu beenden.