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 manuell wiederherstellen

Die folgende Prozedur beschreibt, wie Sie eine konsolidierte Datenbank wiederherstellen, indem Sie jedes Transaktionslog in der Datenbank anwenden. Hinweise darüber, wie der SQL Anywhere-Datenbankserver automatisch die konsolidierte Datenbank wiederherstellt, finden Sie unter Konsolidierte Datenbanken automatisch wiederherstellen.

♦  So stellen Sie die Datenbank mit der Befehlszeilenoption -a 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. Erstellen Sie ein temporäres Verzeichnis.

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

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

    1. Starten Sie die Sicherungskopie der Datenbank.

    2. Wenden Sie die alten Transaktionslogs unter Verwendung der Befehlszeilenoption -a an.

    3. Fahren Sie die Datenbank herunter.

    4. Starten Sie die Datenbank mit dem aktuellen Transaktionslog und der Befehlszeilenoption -a, um die Transaktionen anzuwenden und die Datenbankdatei auf den letzten Stand zu bringen.

    5. Fahren Sie die Datenbank herunter.

    6. Sichern Sie die Datenbank.

  4. Kopieren Sie die Datenbank in das Produktionsverzeichnis.

  5. Starten Sie die Datenbank.

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

Beispiel: Transaktionslogs einzeln anwenden

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.

Nehmen wir überdies an, dass Sie vollständige Sicherungen wöchentlich und inkrementelle Sicherungen täglich durchführen, wobei Sie den folgenden Befehl verwenden:

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.

Verwenden Sie die folgende Prozedur, um nach einem Datenträgerfehler wiederherzustellen.

♦  So stellen Sie Daten nach einem Datenträgerfehler auf dem Laufwerk C wieder her
  1. Sichern Sie die Transaktionslog-Spiegeldatei d:\mirdir\cons.mlg.

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

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

  4. Wenden Sie die umbenannten Transaktionslogs in der richtigen Reihenfolge an, und zwar folgendermaßen:

    dbeng11 -a c:\dbdir\dateAA.log c:\recover\cons.db
    dbeng11 -a c:\dbdir\dateAB.log c:\recover\cons.db
  5. Kopieren Sie das aktuelle Transaktionslog d:\mirdir\cons.log in das Wiederherstellungsverzeichnis, sodass c:\recover\cons.log entsteht.

  6. Starten Sie die Datenbank mit dem folgenden Befehl:

    dbeng11 c:\recover\cons.db
  7. Fahren Sie den Datenbankserver herunter.

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

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

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

Siehe auch