Wenn Datenbank-Kontrolldateien verloren oder beschädigt sind, können Sie sie wiederherstellen, indem Sie eine Wiederherstellung auf Dateiebene ausführen. Nachdem die Wiederherstellung auf Dateiebene erfolgreich war, müssen Sie die Kontrolldateien manuell wiederherstellen.
Folge diesen Schritten:
SQL>shutdown abort
SQL>startup nomount
SQL> Parametersteuerungsdateien anzeigen; NAME TYPE WERT ------------------------------------ ----------- ------------------------------ control_files string /opt/oracle/oradata/lynx/control01.ctl, /opt/oracle/flash_recovery_area/lynx/control02.ctl
Beispiel: Geben Sie "control01.ctl" ein, und führen Sie eine Suche durch.
$sqlplus / as sysdba SQL>alter database mount;
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
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).
Beispiel:
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE ORA-00279: change 1035184 generated at 05/27/2014 18:12:49 needed for thread 1 ORA-00289: Vorschlag: /opt/oracle/flash_recovery_area/LYNX/archivelog/2014_05_27/o1_mf_1_6_%u_.arc ORA-00280: change 1035184 for thread 1 is in sequence #6 Geben Sie das Protokoll an: {<RET>=suggested | filename | AUTO | CANCEL} /opt/oracle/oradata/lynx/redo03.log Log applied. Media recovery complete.
SQL>alter database open resetlogs;
Die Kontrolldateien sind erfolgreich wiederhergestellt.
Copyright © 2016 |
|