Previous Topic: 还原所有表空间和数据文件Next Topic: 还原整个数据库(表空间和控制文件)


还原控制文件

您可以还原存储数据库的物理结构的控制文件。在还原前,您必须找到文件。当您找到该文件时,请确保数据库处于打开状态。

请按照下列步骤操作:

  1. 登录要还原控制文件的计算机。
  2. 使用以下命令找到控制文件:
    SQL> SHOW PARAMETER CONTROL FILES;
    
  3. 在还原控制文件前,将数据库更改为卸载或关闭状态。
    SQL> STARTUP NOMOUNT;
    
    SQL> SHUTDOWN IMMEDIATE;
    
  4. 登录 Arcserve UDP 控制台。
  5. 使用还原向导还原表空间或数据文件。有关还原过程的更多信息,请参阅“如何从恢复点还原”。
  6. 登录目标计算机。
  7. 导航到特定文件夹,然后验证控制文件是否已还原。
  8. 挂接数据库以开始数据库修复:
    SQL> START MOUNT
    
  9. 输入带有“USING BACKUP CONTROLFILE”子句的“RECOVER”命令。
    SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
    

    此时会开始数据库恢复过程。

  10. (可选)指定“UNTIL CANCEL”子句以执行不完整恢复。
    SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
    
  11. 应用提示的存档日志。

    注意:如果缺少所需存档日志,则表示必要的重做记录位于联机重做日志中。它发生的原因是因为在实例失败时,未存档更改位于联机日志中。您可以指定联机重做日志文件的完整路径,然后按 Enter 键(您可能需要尝试好几次,直到找到正确的日志为止)。

  12. 输入以下命令,返回数据库的重做日志方面的控制文件信息:
    SQL>SELECT * FROM V$LOG;
    
  13. (可选)输入以下命令,查看组的所有成员的名称:
    SQL>SELECT * FROM V$LOGFILE;
    

    示例:应用提示的存档日志后,您可能会看到以下消息:

    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}
    
  14. 指定联机重做日志文件的完整路径,然后按 Enter 键。

    示例:E:\app\Administrator\oradata\orcl\redo01.log

    注意:您必须多次指定完整路径,直到获取正确的日志为止。

    将显示以下消息:

    Log applied
    
    Media recovery complete
    
  15. 完成恢复过程后,使用 RESETLOGS 子句打开数据库。
    SQL> ALTER DATABASE OPEN RESETLOGS;
    

丢失的控制文件已恢复。