如果資料庫控制檔遺失或損毀,您可以執行檔案層級復原加以還原。檔案層級成功復原後,您必須手動復原控制檔。
請按照下列步驟操作:
SQL>shutdown abort
SQL>startup nomount
SQL> show parameter control_files; 名稱 類型 值 ------------------------------------ ----------- ------------------------------ control_files 字串 /opt/oracle/oradata/lynx/control01.ctl, /opt/oracle/flash_recovery_area/lynx/control02.ctl
範例:輸入 control01.ctl 並進行搜尋。
$sqlplus / as sysdba SQL>alter database mount;
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
附註:如果必要的封存日誌遺失,表示必要的重做記錄位在線上重做日誌中。因為執行個體失敗時,未封存的變更會位於線上日誌中,此狀況便會發生。您可以指定線上重做日誌檔的完整路徑,然後按下 Enter (您可能必須嘗試幾次,直到找到正確日誌為止)。
範例:
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE ORA-00279: change 1035184 generated at 05/27/2014 18:12:49 needed for thread 1 ORA-00289: suggestion : /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 指定日誌:{<RET>=suggested | filename | AUTO | CANCEL} /opt/oracle/oradata/lynx/redo03.log Log applied. 媒體復原完成。
SQL>alter database open resetlogs;
控制檔成功復原。
Copyright © 2016 |
|