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.
- Melden Sie sich bei dem Computer an, auf dem Sie die Kontrolldateien wiederherstellen möchten.
- Suchen Sie die Kontrolldateien mithilfe des folgenden Befehls:
SQL> SHOW PARAMETER CONTROL FILES;
- Ändern Sie den Status der Datenbank auf "nomount" oder "shutdown", bevor Sie die Kontrolldateien wiederherstellen.
SQL> STARTUP NOMOUNT;
SQL> SHUTDOWN IMMEDIATE;
- Melden Sie sich bei der Arcserve UDP-Konsole an.
- Stellen Sie die Kontrolldatei mithilfe des Wiederherstellungsassistenten wieder her. Weitere Informationen zum Wiederherstellungsvorgang finden Sie unter "So führen Sie eine Wiederherstellung von einem Wiederherstellungspunkt aus".
- Melden Sie sich beim Sicherungscomputer an.
- Navigieren Sie zu den bestimmten Ordnern, und überprüfen Sie, ob die Kontrolldateien wiederhergestellt wurden.
- Laden Sie die Datenbank, um mit der Datenbankwiederherstellung zu beginnen:
SQL> STARTUP MOUNT
- 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.
- (Optional) Geben Sie die UNTIL CANCEL-Klausel an, um eine unvollständige Wiederherstellung auszuführen.
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
- 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).
- Geben Sie den folgenden Befehl ein, um die Informationen der Kontrolldatei zum Redo-Protokoll einer Datenbank zurückzugeben:
SQL>SELECT * FROM V$LOG;
- (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
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
- 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
- Öffnen Sie die Datenbank mit der RESETLOGS-Klausel, nachdem Sie den Wiederherstellungsprozess abgeschlossen haben.
SQL> ALTER DATABASE OPEN RESETLOGS;
Die verlorenen Kontrolldateien werden wiederhergestellt.