Previous Topic: Wiederherstellen aller Tablespaces und DatendateienNext Topic: Wiederherstellen der gesamten Datenbank (Tablespaces und Kontrolldateien)


Wiederherstellung von Kontrolldateien

Sie können die Kontrolldateien wiederherstellen, die die physische Struktur der Datenbank speichern. Bevor Sie eine Wiederherstellung durchführen, müssen Sie die Datei suchen. Wenn Sie die Dateien finden, stellen Sie sicher, dass die Datenbank im Status "Öffnen" ist.

Folge diesen Schritten:

  1. Melden Sie sich bei dem Computer an, auf dem Sie die Kontrolldateien wiederherstellen möchten.
  2. Suchen Sie die Kontrolldateien mithilfe des folgenden Befehls:
    SQL> SHOW PARAMETER CONTROL FILES;
    
  3. Ändern Sie den Status der Datenbank auf "nomount" oder "shutdown", bevor Sie die Kontrolldateien wiederherstellen.
    SQL> STARTUP NOMOUNT;
    
    SQL> SHUTDOWN IMMEDIATE;
    
  4. Melden Sie sich bei der Arcserve UDP-Konsole an.
  5. Stellen Sie die Tablespaces oder Datendateien mithilfe des Wiederherstellungs-Assistenten wieder her. Weitere Informationen zum Wiederherstellungsvorgang finden Sie unter "So führen Sie eine Wiederherstellung von einem Wiederherstellungspunkt aus".
  6. Melden Sie sich beim Sicherungscomputer an.
  7. Navigieren Sie zu den bestimmten Ordnern, und überprüfen Sie, ob die Kontrolldateien wiederhergestellt wurden.
  8. Laden Sie die Datenbank, um mit der Datenbankwiederherstellung zu beginnen:
    SQL> START MOUNT
    
  9. Geben Sie den RECOVER-Befehl mit der USING BACKUP CONTROLFILE-Klausel ein.
    SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
    

    Der Recovery-Vorgang für die Datenbank beginnt.

  10. (Optional) Geben Sie die UNTIL CANCEL-Klausel an, um eine unvollständige Wiederherstellung auszuführen.
    SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
    
  11. Wenden Sie die aufgeforderten archivierten Protokolle an.

    Hinweis: Wenn das erforderliche archivierte Protokoll fehlt, dann bedeutet dies, dass sich ein notwendiger Redo-Datensatz in den Online-Redo-Protokollen befindet. Dies tritt auf, weil sich unarchivierte Änderungen in den Online-Protokollen befinden, als die Instanz fehlgeschlagen ist. Sie können den vollständigen Pfad einer Online-Redo-Protokolldatei angeben, und drücken Sie die Eingabetaste (möglicherweise müssen Sie dies ein paar Mal probieren, bis Sie das richtige Protokoll finden).

  12. Geben Sie den folgenden Befehl ein, um die Informationen der Kontrolldatei zum Redo-Protokoll einer Datenbank zurückzugeben:
    SQL>SELECT * FROM V$LOG;
    
  13. (Optional) Geben Sie den folgenden Befehl ein, um die Namen aller Mitglieder einer Gruppe anzuzeigen:
    SQL>SELECT * FROM V$LOGFILE;
    

    Beispiel: Nachdem Sie die aufgeforderten archivierten Protokolle angewendet haben, werden möglicherweise folgende Nachrichten angezeigt:

    ORA-00279: change 55636 generated at 24/06/2014 16:59:47 needed for thread 1
    
    ORA-00289: suggestion e:\app\Administrator\flash_recovery_area\orcl\ARCHIVELOG\2014_06_24\ O1_MF_1_2_9TKXGGG2_.ARC
    
    ORA-00280: change 55636 for thread 1 is in sequence #24
    
    Geben Sie das Protokoll an: {<RET>=suggested | filename | AUTO | CANCEL}
    
  14. Geben Sie den vollständigen Pfad der Online-Redo-Protokolldatei an, und drücken Sie die Eingabetaste.

    Beispiel: E:\app\Administrator\oradata\orcl\redo01.log

    Hinweis: Sie müssen den vollständigen Pfad mehrmals angeben, bis Sie das richtige Protokoll erhalten.

    Die folgenden Nachrichten werden angezeigt:

    Log applied
    
    Media recovery complete
    
  15. Öffnen Sie die Datenbank mit der RESETLOGS-Klausel, nachdem Sie den Wiederherstellungsprozess abgeschlossen haben.
    SQL> ALTER DATABASE OPEN RESETLOGS;
    

Die verlorenen Kontrolldateien werden wiederhergestellt.