Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Datensicherheit bei verteilter Verarbeitung

Der vorliegende Abschnitt erläutert Aspekte des Sicherungskonzepts, die speziell bei verteilter Verarbeitung mit SESAM/SQL-DCN von Bedeutung sind. Die konfigurationsübergreifende Transaktionssicherung stellt sicher, dass auch nach Ausfall einer Komponente des Rechnernetzes keine Datenverluste und Inkonsistenzen auftreten können.

Verteilte Transaktionen

Eine Transaktion heißt verteilt, wenn mehrere DBHs an ihrer Bearbeitung beteiligt sind. Eine verteilte Transaktion wird in drei Schritten abgewickelt (siehe Bild 29).


Bild 29: Ausführen einer verteilten Transaktion


„Konfiguration A“,
„Konfiguration B“ sowie
„DBH 2“ und
„DBH 4“ in Bild 29

beziehen sich auf die in Bild 28 dargestellte Situation.

Verarbeitungsphase

Die erste transaktionseinleitende SQL-Anweisung bzw. die Anweisung BTA bei CALL-DML und die übrigen SQL- bzw. CALL-DML-Anweisungen der Transaktion werden ausgeführt.

PTC-Phase (Prepare To Commit)

Die Verarbeitungsphase innerhalb der Transaktion ist abgeschlossen. Die durchgeführten Änderungen werden ausfallsicher protokolliert, sind jedoch noch reversibel. Erst wenn „Prepared To Commit“ von allen beteiligten DBHs bestätigt worden ist, kann das endgültige Transaktionsende eingeleitet werden.

Phase „Endgültiges Beenden der Transaktion“

        Die Transaktion wird irreversibel abgeschlossen: Alle Änderungen werden festgeschrieben oder zurückgesetzt.

Master-DCN und Sicherungsdatei

Master-DCN

Nach einem Rechnerausfall ist zur Erhaltung der Transaktionskonsistenz ein Wiederanlauf von SESDCN (siehe „SESDCN-Wiederanlauf“) erforderlich. Koordination und Durchführung des SESDCN-Wiederanlaufs sind Aufgaben von SESDCN. Dabei überwacht SESDCN auch das Anlegen von Sicherungsdateien. Wenn SESDCN in der Konfiguration mehrfach geladen wurde, übernimmt der zuerst geladene SESDCN diese Aufgabe. Der SESDCN, der den Wiederanlauf durchführt, heißt Master-DCN.


Sicherungsdatei

Für den Wiederanlauf nach Systemausfall muss eine Sicherungsdatei vorhanden sein, die die Wiederanlaufdaten enthält.

Der Master-DCN prüft, ob die Sicherungsdatei bereits vorhanden ist.

  • Falls noch keine entsprechende Datei vorhanden ist, wird die Sicherungsdatei beim erstmaligen Starten des Master-DCN unter dem über den Linknamen SESDLG zugewiesenen Dateinamen oder, falls keine Zuweisung über diesen Linknamen vorliegt, unter dem Standarddateinamen in der Kennung angelegt, in der der Master-DCN geladen ist.
    Dabei kann sie über die SET-DCN-OPTIONS-Anweisung SESDLG-PASSWORD mit einem Kennwort versehen werden. Der Kennwortschutz gilt für lesende und schreibende Zugriffe.

  • Falls die Sicherungsdatei bereits vorhanden ist und noch nicht über einen Kennwortschutz verfügt, kann ein Kennwortschutz nur mit dem BS2000-Kommando MODIFY-FILE-ATTRIBUTES erreicht werden. Der Kennwortschutz sollte dann wie beim Parameter SESDLG-PASSWORD für Lesen und Schreiben gelten.
    Beim Öffnen einer bereits vorhandenen Sicherungsdatei stellt der Master-DCN fest, ob ein Wiederanlauf notwendig ist.

Im Folgenden sind Namenskonventionen, Zugriffsmethode und Standardzuweisung für die Sicherungsdatei von SESDCN angegeben:

Standardname

SES.DLGk

Linkname

SESDLG

Zugriffsmethode

PAM-shared (bzw. SHAREUPD)

Primär-/Sekundärzuweisung

9 / 24

Die Sicherungsdatei für SESDCN führt als Namensbestandteil den Konfigurationsnamen k, der sie der Konfiguration zuordnet, zu der der Master-DCN gehört.

Der Systemverwalter kann die Sicherungsdatei auch mit dem SDF-Kommando CREATE-FILE unter einem beliebigen Dateinamen anlegen und mit dem Linknamen SESDLG zuweisen..

SESDCN-Wiederanlauf

In der Sicherungsdatei ist vermerkt, ob die letzte SESDCN-Session ordnungsgemäß beendet wurde. Beim darauffolgenden Start von SESDCN öffnet der Master-DCN die Sicherungsdatei und prüft, ob ein Wiederanlauf durchgeführt werden muss. Der SESDCN-Wiederanlauf setzt voraus, dass die an der verteilten Verarbeitung beteiligten DBHs wiederanlauffähig sind.
Da ein SESDCN-Wiederanlauf die logische Fortsetzung des vorangegangenen SESDCN-Laufs ist, gelten alle Ladeoptionen des vorangegangenen Laufs.


Behandlung verteilter Transaktionen

Wie SESDCN beim Wiederanlauf mit verteilten Transaktionen verfährt, hängt ab von der Bearbeitungsphase, in der der vorangegangene SESDCN-Lauf abgebrochen wurde, und vom Ergebnis des dem SESDCN-Wiederanlauf vorangegangenen DBH-Wiederanlaufs.

Je nach Zeitpunkt des Systemausfalls behandelt der DBH beim Wiederanlauf die Transaktionen unterschiedlich:

  • Der DBH setzt eine Transaktion beim Wiederanlauf zurück, wenn sich die Transaktion in der Verarbeitungsphase befand und die PTC-Phase aus Sicht des DBH noch nicht abgeschlossen war.

  • Transaktionen, die sich beim Systemausfall in einer abgeschlossenen PTC-Phase befanden, bleiben beim DBH-Wiederanlauf in diesem Zustand. Erst der SESDCN-Wiederanlauf entscheidet auf Grund der Information in der Sicherungsdatei, ob die Transaktion zurückgesetzt oder beendet werden soll.


Wiederanlauf von SESDCN auf einem fremden Rechner

Der Wiederanlauf von SESDCN kann auf dem Rechner erfolgen, auf dem SESDCN ursprünglich gestartet wurde (Kaltstartrechner) oder auch auf einem anderen Rechner. Voraussetzung für den Wiederanlauf auf einem anderen Rechner ist die Vergabe netzweit eindeutiger Konfigurationsnamen bei der Systemgenerierung.

Für den Wiederanlauf auf einem anderen Rechner ist der Umzug der gesamten Konfiguration auf diesen Rechner erforderlich. Das bedeutet, dass alle zur Konfiguration gehörenden Anwenderprogramme, SESDCNs, DBHs, die Sicherungsdatei sowie alle DBH-spezifischen Dateien auf diesen Rechner gebracht werden müssen. Alle benötigten Tasks auf dem neuen Rechner müssen wiederanlauffähig sein. Außerdem muss die Systemumgebung für den DBH auf dem neuen Rechner die gleiche sein, d.h. die DBH-Kennung muss auf dem alten und neuen Rechner übereinstimmen. Ebenso müssen die DB-Kennungen auf dem alten und neuen Rechner übereinstimmen.


Aktualisierung der Verteilregeln

Erfolgt der SESDCN-Wiederanlauf auf einem anderen Rechner, so ändert sich aus Sicht der anderen Konfigurationen der Standort der Wiederanlauf-Konfiguration im Rechnernetz. Der Master-DCN der Wiederanlauf-Konfiguration ersetzt deshalb automatisch in den Verteilregeln der ihm bekannten und erreichbaren Remote-Rechner den alten Rechnernamen durch den Namen des Wiederanlaufrechners. Somit ist die Kommunikation mit den auf diesen Rechnern liegenden Konfigurationen weiterhin möglich.

Sind zum Zeitpunkt des SESDCN-Wiederanlaufs nicht alle Remote-Rechner im Netz für den Master-DCN erreichbar, so kann der Master-DCN nicht alle Verteilregeln automatisch ändern. Deshalb muss der Systemverwalter in diesem Fall einige Verteilregeln per Administrationsanweisung aktualisieren (siehe Handbuch „ Datenbankbetrieb“).

Führen nach einem Rechnerausfall mehrere Konfigurationen ihren SESDCN-Wiederanlauf auf einem anderen Rechner durch, so ist eine vollständige Aktualisierung der Verteilregeln durch die zugehörigen Master-DCNs ebenfalls nicht möglich. Auch in diesem Fall muss der Systemverwalter einige Verteilregeln mit SESDCN-Administrationsanweisungen aktualisieren..