上一主题: 恢复整个数据库下一主题: 恢复表空间或数据文件


恢复整个数据库和控制文件

如果控制文件已丢失或损坏,必须先关闭数据库并恢复控制文件,然后才能恢复数据库。

关闭数据库并恢复控制文件

  1. 通过在 SQL*Plus 提示符下输入以下命令来关闭数据库:
    SHUTDOWN;
    
  2. 转到 Oracle 主目录。 将控制文件从代理主目录复制到其原始位置。
  3. 将还原的控制文件名恢复为原来的控制文件名。

    注意:还原过程将还原原始控制文件。 经还原的控制文件必须沿用原来的文件名。

  4. 启动并安装数据库,然后开始恢复过程:

    在 SQL*Plus 提示符下输入:

    CONNECT SYS/SYS_PASSWORD AS SYSDBA;
    STARTUP MOUNT;
    RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
    
  5. Oracle 提示您输入日志文件名。 Oracle 会先查找存档日志文件,然后自动为存在的文件提供正确的名称。 如果 Oracle 找不到所需的存档日志文件,您必须手工应用所需的联机重做日志。

    手工应用联机重做日志时,必须提供完整的路径和文件名。 如果输入了错误的日志,请重新输入以下命令:

    RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
    

    出现提示时,请提供正确的联机重做日志文件名。 继续该操作步骤,直至 Oracle 成功应用所有的日志。

  6. 在 SQL*Plus 提示符下输入以下命令来使数据库返回到联机状态,并重置日志:
    ALTER DATABASE OPEN RESETLOGS; 
    
  7. 在保存存档重做日志的目录中,删除所有日志文件。
  8. 如果某些表空间仍处于脱机状态,请在 SQL*Plus 提示符下输入以下命令来使其返回到联机状态:
    ALTER TABLESPACE TABLESPACE_NAME ONLINE;