Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Remote » SQL Remote-Systeme verwalten

 

Eine konsolidierte Datenbank automatisch wiederherstellen

Sie können eine konsolidierte Datenbank automatisch wiederherstellen. Hinweise, wie Sie Transaktionslogs manuell anwenden, finden Sie unter Eine konsolidierte Datenbank manuell wiederherstellen.

Voraussetzungen

Sie müssen das BACKUP DATABASE-Systemprivileg haben.

Erstellen Sie eine Kopie der Datenbank und der Transaktionslogdatei. In dieser Prozedur wird angenommen, dass frühere Sicherungen der Datenbankdatei erstellt wurden und verfügbar sind, zum Beispiel auf Band.

 Aufgabe
  1. Stellen Sie die aktuellste Sicherungskopie der Datenbankdatei (.db) und nicht der Transaktionslogdatei vom Band in einem temporären Verzeichnis wieder her.

  2. Im temporären Verzeichnis führen Sie Folgendes durch:

    1. Starten Sie die Datenbank, indem Sie die Transaktionslogs unter Verwendung der Befehlszeilenoption -ad anwenden.

      Wenn Sie die Befehlszeilenoption -ad angeben, sucht der Datenbankserver im angegebenen Verzeichnis nach den Transaktionslogs für die Datenbank. Danach bestimmt er anhand der Transaktionslog-Offsets die richtige Reihenfolge für die Anwendung der Transaktionslogs.

    2. Kopieren Sie das aktuelle Transaktionslog in das temporäre Verzeichnis.

    3. Starten Sie die Datenbank und wenden Sie das aktuelle Transaktionslog an.

    4. Fahren Sie den Datenbankserver herunter.

    5. Sichern Sie die Datenbank und das Transaktionslog.

  3. Kopieren Sie die Datenbank und die Transaktionslogdateien in die entsprechenden Produktionsverzeichnisse.

  4. Starten Sie Ihr System erneut auf die übliche Weise.

    Jede neue Aktivität wird an das aktuelle Transaktionslog angefügt.

Ergebnisse

Die konsolidierte Datenbank wird wiederhergestellt.

Beispiel

Angenommen, Sie haben eine konsolidierte Datenbankdatei namens c:\dbdir\cons.db, eine Transaktionslogdatei c:\dbdir\cons.log und eine Transaktionslog-Spiegeldatei d:\mirdir\cons.mlg.

Weiterhin wird angenommen, dass Sie einmal pro Woche eine vollständige Sicherung mit dem folgenden Befehl durchführen:

dbbackup -c "UID=DBA;PWD=sql" -r -n e:\backdir

Außerdem wird angenommen, dass Sie täglich inkrementelle Sicherungen mit dem folgenden Befehl durchführen:

dbbackup -c "UID=DBA;PWD=sql" -r -n -t e:\backdir

Dieser Befehl sichert das Transaktionslog cons.log im Verzeichnis e:\backdir. Die Transaktionslogdatei wird dann in datexx.log umbenannt, wobei date das aktuelle Datum und xx die nächste Buchstabenserie in der Sequenz ist, und ein neues Transaktionslog wird gestartet. Das Verzeichnis e:\backdir wird dann mit einem Dienstprogramm anderer Hersteller gesichert.

In diesem Szenario würden Sie den SQL Remote-Nachrichtenagenten (dbremote) mit dem optionalen Verzeichnis ausführen, sodass auf die umbenannten Transaktionslogdateien verwiesen wird. Zum Beispiel:

dbremote -c "UID=DBA;PWD=sql" c:\dbdir

Am dritten Tag nach der wöchentlichen Sicherung wird die Datenbankdatei durch einen fehlerhaften Plattenspeicherblock beschädigt. Führen Sie die folgenden Schritte aus:

  1. Ersetzen Sie das Laufwerk c:\.

  2. Sichern Sie die Transaktionslog-Spiegeldatei d:\mirdir\cons.mlg.

  3. Erstellen Sie ein temporäres Verzeichnis, in dem Sie die Wiederherstellung durchführen. In diesem Beispiel ist es c:\recover.

  4. Stellen Sie die aktuellste Sicherung der Datenbankdatei cons.db mit c:\recover\cons.db wieder her.

  5. Kopieren Sie die gesicherten Transaktionslogs auf c:\dbdir.

  6. Wenden Sie die umbenannten Transaktionslogs an:

    dbeng16 c:\recover\cons.db -ad c:\dbdir
  7. Kopieren Sie das aktuelle Transaktionslog d:\mirdir\cons.log in das Wiederherstellungsverzeichnis, sodass c:\recover\cons.log entsteht.

  8. Starten Sie die Datenbank mit dem folgenden Befehl:

    dbeng16 c:\recover\cons.db
  9. Fahren Sie den Datenbankserver herunter.

  10. Sichern Sie die wiederhergestellte Datenbank und das Transaktionslog von c:\recover.

  11. Kopieren Sie die Dateien von c:\recover in die entsprechenden Produktionsverzeichnisse:

    • Kopieren Sie c:\recover\cons.db in c:\dbdir\cons.db.

    • Kopieren Sie c:\recover\cons.log in c:\dbdir\cons.log und d:\mirdir\cons.mlg.


 Siehe auch