Beispiel: Schrittweise Wiederherstellung einer Datenbank (vollständiges Wiederherstellungsmodell)

Bei einer schrittweisen Wiederherstellungssequenz wird die Datenbank auf Dateigruppenebene stufenweise wiederhergestellt, wobei mit den primären Dateigruppen sowie mit den sekundären Dateigruppen mit Lese- und Schreibberechtigung begonnen wird.

In diesem Beispiel wird die adb-Datenbank nach einem Notfall auf einem neuen Computer wiederhergestellt. Für die Datenbank wird das vollständige Wiederherstellungsmodell verwendet, weshalb vor dem Beginn der Wiederherstellung eine Protokollfragmentsicherung der Datenbank erstellt werden muss. Vor dem Notfall sind alle Dateigruppen online. Dateigruppe B ist schreibgeschützt. Alle sekundären Dateigruppen müssen wiederhergestellt werden, aber sie werden in der Reihenfolge ihrer Wichtigkeit wiederhergestellt: A (höchste Wichtigkeit), C und schließlich B. In diesem Beispiel gibt es vier Protokollsicherungen, darunter die Protokollfragmentsicherung.

Protokollfragmentsicherung

Vor dem Wiederherstellen der Datenbank muss der Datenbankadministrator das Protokollfragment sichern. Da die Datenbank beschädigt ist, muss für das Erstellen der Protokollfragmentsicherung die NO_TRUNCATE-Option verwendet werden.

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE

Bei der Sicherung des Protokollfragments handelt es sich um die letzte Sicherung im Rahmen der folgenden Wiederherstellungssequenzen.

Wiederherstellen von Sequenzen

  1. Teilweise Wiederherstellung der primären und sekundären Dateigruppe A.

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1 
       WITH PARTIAL, NORECOVERY
    RESTORE DATABASE adb FILEGROUP='A' FROM backup2 
       WITH NORECOVERY
    RESTORE LOG adb FROM backup3 WITH NORECOVERY
    RESTORE LOG adb FROM backup4 WITH NORECOVERY
    RESTORE LOG adb FROM backup5 WITH NORECOVERY
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
    
  2. Onlinewiederherstellung der Dateigruppe C.

    Jetzt sind die primäre Dateigruppe und die sekundäre Dateigruppe A online verfügbar. Für die Dateien in den Dateigruppen B und C steht die Wiederherstellung noch aus, d. h., die Dateigruppen sind noch offline.

    In Meldungen aus der letzten RESTORE LOG-Anweisung (in Schritt 1) wird darauf hingewiesen, dass Rollbacks für Transaktionen mit Dateigruppe C verzögert werden, da die Dateigruppe nicht verfügbar ist. Normale Vorgänge können zwar fortgesetzt werden, allerdings werden durch die Transaktionen Sperren eingerichtet, und Protokollkürzungen sind erst nach Abschluss des Rollbacks möglich.

    In der zweiten Wiederherstellungssequenz stellt der Administrator die Dateigruppe C wieder her:

    RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY
    RESTORE LOG adb FROM backup3 WITH NORECOVERY
    RESTORE LOG adb FROM backup4 WITH NORECOVERY
    RESTORE LOG adb FROM backup5 WITH NORECOVERY
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
    

    Die primäre Dateigruppe und die Dateigruppen A und C sind zu diesem Zeitpunkt online. Für die Dateien in der Dateigruppe B steht weiterhin die Wiederherstellung aus; die Dateigruppe ist offline. Die verzögerten Transaktionen wurden aufgelöst, und die Protokollkürzungen werden vorgenommen.

  3. Onlinewiederherstellung der Dateigruppe B.

    In der dritten Wiederherstellungssequenz stellt der Administrator die Dateigruppe B wieder her: Die Sicherung von Dateigruppe B wurde erstellt, nachdem die Dateigruppe schreibgeschützt wurde. Deshalb muss für diese Dateien bei der Wiederherstellung kein Rollforward ausgeführt werden.

    RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY
    

    Jetzt sind alle Dateigruppen online verfügbar.