Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

RECOVER CATALOG USING REPLICATION

Mit der Utility-Anweisung RECOVER CATALOG USING REPLICATION kann der Datenbankverwalter eine komplette Originaldatenbank mit einem vollständigen Replikat reparieren. Mit Teilreplikaten können die entsprechenden Teile des Originals repariert werden.

Der Stand, der mit der Reparatur erreicht wird, wird durch die angegebene CAT-REC-Datei definiert. Die angegebene CAT-REC-Datei darf nicht älter sein als die des Replikats. Wird eine ältere CAT-REC-Datei angegeben als die aktuelle CAT-REC-Datei des Originals, handelt es sich eigentlich um ein Zurücksetzen der Datenbank (siehe Abschnitt „Zurücksetzen mit RECOVER CATALOG USING REPLICATION“).

Die CAT-REC-Datei der Originaldatenbank wird bei RECOVER USING REPLICATION überschrieben. Der Datenbankverwalter muss den Stand des Originals vor dem RECOVER sichern, wenn er eventuell noch einmal auf ihn zurückgreifen will.

Die Reparatur mit einem Replikat ist nur möglich, wenn Catalog-Space und Anwender-Spaces der Originaldatenbank immer mit Logging bearbeitet wurden.
Ein Replikat, das regelmäßig aktualisiert wird, erlaubt ein sehr viel schnelleres Reparieren der Originaldatenbank. Bei einer Reparatur der Originaldatenbank mit Hilfe des Replikats müssen nur die Logging-Dateien nachgefahren werden, die sich aus dem Unterschied zwischen Original und Replikat zum Zeitpunkt eines Fehlers ergeben.
Je häufiger ein Replikat aktualisiert wird, desto aktueller ist es und desto schneller kann dann eine Reparatur durchgeführt werden.

Existiert nur ein Teilreplikat, können auch nur der Catalog-Space und die Anwender-Spaces repariert werden, die im Teilreplikat enthalten sind. Die anderen Spaces müssen dann eventuell mit RECOVER SPACE repariert werden (siehe „Wiederherstellen von AnwenderSpaces in unterschiedlichen Situationen“).

Reparatur mit einem Replikat ist nur möglich, wenn auf dem Original die Bedingungen eingehalten worden sind, die auch einen REFRESH REPLICATION erlauben. Das bedeutet, die logische Datensicherung darf nicht unterbrochen und es darf kein Space des Replikats im Original mit DROP SPACE gelöscht worden sein.

Bei der Funktion COPY bleibt das Replikat erhalten und kann weiter prozessiert werden. Bei der Funktion RENAME wird das Replikat zur Originaldatenbank und ist anschließend nicht mehr vorhanden. Replikat und Original müssen bei RENAME auf derselben BS2000-Kennung liegen und die Dateien des Originals dürfen nicht existieren, da sonst das Umkatalogisieren der Dateien nicht möglich ist.


Bild 22: Originaldatenbank mit Hilfe eines Replikats reparieren

  1. Beim RECOVER CATALOG USING REPLICATION kann eine Datenbank aus dem Replikat, den Logging-Dateien und der aktuellen CAT-REC-Datei repariert werden.

  2. Bei der Option COPY bleibt das Replikat unverändert bestehen.

Vorgehensweise

Ist die CAT-REC-Datei der Originaldatenbank bei einem Fehler nicht physikalisch zerstört worden, kann sie für die Reparatur verwendet werden. Ist keine CAT-REC-Datei mehr vorhanden, muss die jüngste Kopie bestimmt werden.

Um den aktuellen Stand eines Originals wiederherstellen zu können, muss die CAT-REC-Datei des Originals für die Reparatur verwendet werden. Wird eine ältere CAT-REC-Kopie verwendet, so bedeutet das ein Zurücksetzen des Catalogs (siehe Beispiel auf "Zurücksetzen mit RECOVER CATALOG USING REPLICATION").

Der Datenbankverwalter muss für die Reparatur die benötigten Logging-Dateien zur Verfügung stellen. Wird das Replikat vom gleichen DBH prozessiert wie die Originaldatenbank, dann muss es vor der Reparatur in den Status FREE versetzt werden. Bei unterschiedlichen DBHs kann dies entfallen. Es darf aber kein paralleler REFRESH REPLICATION des Replikats stattfinden.

Beim Abbruch eines RECOVER USING REPLICATION, bei dem nicht die aktuelle CAT-REC-Datei angegeben ist, ist eventuell schon die CAT-REC-Datei des Originals überschrieben. Um sicherzustellen, dass nichts verloren geht, sollte diese Datei vor dem RECOVER gesichert werden. Dies wird von SESAM/SQL nicht automatisch gemacht.

Teilreplikat ohne Index-Space

Wird das Teilreplikat nicht für Wiedergewinnung verwendet, kann auf die Indizes zu den Tabellen verzichtet werden. Es ist dann z.B. möglich, nur alle Spaces mit den Tabellen als Teilreplikat zu führen. Bei einer Reparatur mit diesem Teilreplikat werden die Spaces mit den Primärdaten wiederhergestellt. Die Spaces mit den Indizes können dann über RECOVER TO *DUMMY neu generiert werden.

Index-Spaces außerhalb des Teilreplikats können so auch ohne Logging sein. Diese Spaces werden dann auf einen alten Sicherungsstand zurückgesetzt oder mit RECOVER TO *DUMMY neu generiert, wobei alle Indizes neu aufgebaut werden. Dieses Vorgehen ist allerdings aus Zeitgründen nur bei kleinen Tabellen oder wenigen Indizes zu empfehlen.