使用当前副本恢复控制文件

本节介绍可以从当前备份或多路复制副本中恢复控制文件的方法。

使用控制文件副本从控制文件损坏中恢复

此过程假定CONTROL_FILES参数中指定的控制文件之一已损坏,控制文件目录仍然可以访问,并且您拥有控制文件的复用副本。

  • 在实例关闭的情况下,使用操作系统命令以良好的副本覆盖错误的控制文件:
    cp /u03/oracle/prod/control03.ctl  /u02/oracle/prod/control02.ctl
  • 启动SQL * Plus并打开数据库
    SQL> STARTUP

使用控制文件复制从永久介质故障中恢复

此过程假定CONTROL_FILES参数中指定的其中一个控制文件由于永久介质故障而无法访问,并且您拥有控制文件的多路复制副本。

  • 在实例关闭的情况下,使用操作系统命令将控制文件的当前副本复制到新的可访问位置:
    % cp /u01/oracle/prod/control01.ctl  /u04/oracle/prod/control03.ctl
  • 编辑初始化参数文件中的CONTROL_FILES参数,以将错误位置替换为新位置:
    CONTROL_FILES = (/u01/oracle/prod/control01.ctl,
                     /u02/oracle/prod/control02.ctl, 
                     /u04/oracle/prod/control03.ctl)
  • 启动SQL * Plus并打开数据库:
    SQL> STARTUP

如果您有多路复用的控制文件,可以通过编辑CONTROL_FILES初始化参数快速启动数据库。从CONTROL_FILES设置中删除错误的控制文件,您可以立即重新启动数据库。然后,您可以执行坏控制文件的重建,并在稍后关闭并在编辑CONTROL_FILES初始化参数以包含恢复的控制文件后重新启动数据库。

参考资料

https://docs.oracle.com/cd/E11882_01/server.112/e25494/control.htm#ADMIN11297

猜你喜欢

转载自www.cnblogs.com/sorliran/p/9229555.html
今日推荐