如果数据库控制文件已丢失或损坏,您可以通过执行文件级恢复来还原它。文件级恢复成功后,您必须手动恢复控制文件。
请按照下列步骤操作:
SQL>shutdown abort
SQL>startup nomount
SQL> show parameter control_files; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string /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 Specify log:{<RET>=suggested | filename | AUTO | CANCEL} /opt/oracle/oradata/lynx/redo03.log Log applied. Media recovery complete.
SQL>alter database open resetlogs;
控制文件已成功恢复。
Copyright © 2016 |
|