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

SQL Anywhere 11.0.1 (Deutsch) » SQL Remote » SQL Remote-Deployment und -Administration » SQL Remote-Administration

 

Konsolidierte Datenbanken automatisch wiederherstellen

Die folgende Prozedur beschreibt, wie Sie eine konsolidierte Datenbank automatisch wiederherstellen. Hinweise, wie Sie Transaktionslogs manuell anwenden, finden Sie unter Konsolidierte Datenbanken manuell wiederherstellen.

♦  So stellen Sie die Datenbank mit der Befehlszeilenoption -ad wieder her
  1. 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.

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

  3. 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 Logs.

    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.

  4. Kopieren Sie Datenbank- und Transaktionslogdateien in die entsprechenden Produktionsverzeichnisse.

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

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

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 Datumxx.log umbenannt, wobei Datum 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 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.

♦  So stellen Sie Daten nach einem Datenträgerfehler auf dem Laufwerk C wieder her
  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:

    dbeng11 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:

    dbeng11 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.

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

Siehe auch