Previous Topic: 还原控制文件Next Topic: 使用裸机恢复恢复 Oracle 数据库


还原整个数据库(表空间和控制文件)

您可以还原整个数据库(所有表空间和控制文件)。在还原前,您必须找到文件。当您找到该文件时,请确保数据库处于打开状态。如果数据库是打开的,请在开始还原过程前,使用“ALTER TABLESPACE.OFFLINE ”语句让表空间或数据文件脱机。

请按照下列步骤操作:

  1. 登录要还原表空间或数据文件的计算机。
  2. 使用以下命令找到用户表空间或数据文件:
    SQL> SELECT TABLESPACE_NAME, FILE_NAME from DBA_DATA_FILES;
    
    SQL> SHOW PARAMETER CONTROL FILES;
    
  3. 在还原表空间或数据文件前,将数据库更改为卸载或关闭状态。
    SQL> STARTUP NOMOUNT;
    
    SQL> SHUTDOWN IMMEDIATE;
    
  4. 登录 Arcserve UDP 控制台。
  5. 使用还原向导还原表空间或数据文件。有关还原过程的更多信息,请参阅“如何从恢复点还原”。
  6. 登录目标计算机。
  7. 导航到特定文件夹,然后验证表空间或数据文件是否已还原。
  8. 恢复数据库。
    SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
    
  9. 应用提示的存档日志。

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

  10. 输入以下命令,返回数据库的重做日志方面的控制文件信息:
    SQL>SELECT * FROM V$LOG;
    
  11. (可选)输入以下命令,查看组的所有成员的名称:
    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}
    
  12. 指定联机重做日志文件的完整路径,然后按 Enter 键。

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

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

    将显示以下消息:

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

整个数据库已还原。