Welcome 微信登录

首页 / 数据库 / MySQL / 探索Oracle之RMAN_07控制文件丢失恢复

1、     控制文件(controlfile)丢失恢复基于控制文件的复合多路径性,它的丢失分为两种,一种是其中某个控制文件的损坏或丢失,另外一种是所有控制文件均丢失。基于第一种情况,只需把好的控制文件复制一份在损坏或丢失的那个控制文件路径下即可。第二种情况下则需要通过备份信息来对控制文件进行恢复或手工重建控制文件。丢失单一控制文件的判断及恢复。数据库无法正常关闭,因为在关闭的时候必须向控制文件中更新scn号SQL>shutdown immediateORA-00210:cannot open the specified control fileORA-00202:control file: "/DBData/oradata/WWL/control02.ctl"ORA-27041:unable to open fileLinuxError: 2: No such file or directoryAdditionalinformation: 3 必须强制关闭数据库SQL>shutdown abort;Oracleinstance shut down. 启动数据库报控制文件验证失败,检查告警日志文件SQL>startupORACLEinstance started. TotalSystem Global Area  285212672 bytesFixedSize                  1218968 bytesVariableSize             104859240 bytesDatabaseBuffers          171966464 bytesRedoBuffers                7168000 bytesORA-00205:error in identifying control file, check alert log for more info 查看告警日志,报提示找不到controlfile2Fri Jun 2211:54:26 2012Errors infile /DBSoft/admin/WWL/udump/wwl_ora_4816.trc:ORA-00210:cannot open the specified control fileORA-00202:control file: "/DBData/oradata/WWL/control02.ctl"ORA-27041:unable to open fileLinuxError: 2: No such file or directory 从上面的信息我们可以得出是由于控制文件丢失导致了数据库无法正常的启动和关闭,下面我们要做的就是对控制文件进行做恢复,因为我们知道控制文件具有重复多路径属性,默认会有三个控制文件。现在日志中看到的是控制文件2丢失,找不到,我们可以通过控制文件1和3来恢复2。4.1 基于正常控制文件恢复损坏的控制文件   1、查看控制文件存在路径SQL>show parameter control_files NAME          TYPE       VALUE----------------------------------------------- ------------------------------control_files     string      /DBSoft/oradata/WWL/control01.ctl,/DBData/oradata/WWL/control02.ctl, /DBData/oradata/WWL/control03.ctlSQL>    我们可以从如上看到,该套数据库存在三个控制文件其中一个控制文件存放在/DBSoft目中中的oradata/wwl/目录下,另外两个控制文件存在/DBData目录中的/oradata/wwl/的目录下,从上面刚才的信息中我们可以得之是control02.ctl控制文件丢失导致数据库故障。   2、检查下控制文件是不存在还是损坏了[oracle@wwldb WWL]$cd /DBData/oradata/WWL/[oracle@wwldb WWL]$lltotal 0[oracle@wwldb WWL]$ 怪了,这个目录怎么一个控制文件都没有了呀,看看控制文件一是否存在。[oracle@wwldb WWL]$ cd/DBSoft/oradata/WWL/[oracle@wwldb WWL]$ lscontrol01.ctl 非常万幸,controlfile1还是存在的,这样我们就可以通过controlfile1来恢复controlfile2和3了。   3、关闭数据库SQL> shutdown abortORACLE instance shut down.SQL> 4、恢复损坏丢失的控制文件[oracle@wwldbWWL]$ lscontrol01.ctl[oracle@wwldbWWL]$ pwd/DBSoft/oradata/WWL[oracle@wwldbWWL]$ lscontrol01.ctl[oracle@wwldbWWL]$ cp control01.ctl /DBData/oradata/WWL/control02.ctl[oracle@wwldbWWL]$ cp control01.ctl /DBData/oradata/WWL/control03.ctl[oracle@wwldbWWL]$ ll /DBData/oradata/WWL/total13792-rw-r-----1 oracle oinstall 7061504 Jun 22 12:51 control02.ctl-rw-r-----1 oracle oinstall 7061504 Jun 22 12:51 control03.ctl[oracle@wwldb WWL]$2、启动数据库SQL>startupORACLEinstance started. Total SystemGlobal Area 285212672 bytesFixedSize                 1218968 bytesVariableSize            104859240 bytesDatabaseBuffers         171966464 bytesRedoBuffers               7168000 bytesDatabasemounted.Databaseopened.SQL>    4.2所有控制文件全部丢失。      丢失单一控制文件的判断及恢复。 数据库无法正常关闭,因为在关闭的时候必须向控制文件中更新scn号SQL>shutdown immediateORA-00210:cannot open the specified control fileORA-00202:control file: " /DBSoft/oradata/WWL/control01.ctl"ORA-27041:unable to open fileLinuxError: 2: No such file or directoryAdditionalinformation: 3 必须强制关闭数据库SQL>shutdown abort;ORACLEinstance shut down. 启动数据库报控制文件验证失败,检查告警日志文件SQL>startupORACLEinstance started. TotalSystem Global Area  285212672 bytesFixedSize                  1218968 bytesVariableSize             104859240 bytesDatabaseBuffers          171966464 bytesRedoBuffers                7168000 bytesORA-00205:error in identifying control file, check alert log for more info 查看告警日志,报提示找不到controlfile1Fri Jun 22 13:16:07 2012Errors in file /DBSoft/admin/WWL/udump/wwl_ora_5104.trc:ORA-00210: cannot open the specified control fileORA-00202: control file: "/DBSoft/oradata/WWL/control01.ctl"ORA-27041: unable to open fileLinux Error: 2: No such file or directoryAdditional information: 3 通过RMAN来进行控制文件的恢复:1、强制启动数据库到nomount状态SQL> startupforce nomount;ORACLE instancestarted. Total SystemGlobal Area  285212672 bytesFixed Size                  1218968 bytesVariableSize             109053544 bytesDatabase Buffers          167772160 bytesRedoBuffers                7168000 bytesSQL> exit2、执行restore控制文件恢复RMAN>restore controlfile; 3、打开数据库SQL>alter database mount;Database altered. SQL>alter database open;Database altered.相关阅读:探索Oracle之RMAN_01概念 http://www.linuxidc.com/Linux/2012-05/60530.htm探索Oracle之RMAN_02基本使用 http://www.linuxidc.com/Linux/2012-05/60578.htm探索Oracle之RMAN_03非一致性备份 http://www.linuxidc.com/Linux/2012-05/61025.htm探索Oracle之RMAN_04非一致性备份 http://www.linuxidc.com/Linux/2012-05/61180.htm探索Oracle之RMAN_05增量备份 http://www.linuxidc.com/Linux/2012-05/61181.htm探索Oracle之RMAN_06备份策略 http://www.linuxidc.com/Linux/2012-05/61450.htm探索Oracle之RMAN_07单个数据文件丢失恢复 http://www.linuxidc.com/Linux/2012-06/63524.htm探索Oracle之RMAN_07整个业务表空间丢失恢复 http://www.linuxidc.com/Linux/2012-07/64582.htm探索Oracle之RMAN_07 磁盘损坏数据丢失恢复 http://www.linuxidc.com/Linux/2012-07/64588.htm探索Oracle之RMAN_07 数据库所有文件全部丢失恢复 http://www.linuxidc.com/Linux/2012-07/64587.htm探索Oracle之RMAN_07 重做日志redu文件丢失恢复 http://www.linuxidc.com/Linux/2012-07/64586.htm探索Oracle之RMAN_07 参数文件丢失恢复 http://www.linuxidc.com/Linux/2012-07/64585.htm探索Oracle之RMAN_07控制文件丢失恢复 http://www.linuxidc.com/Linux/2012-07/64584.htm探索Oracle之RMAN_07 system表空间丢失恢复 http://www.linuxidc.com/Linux/2012-07/64583.htm探索Oracle之RMAN_07 system表空间丢失恢复探索Oracle之RMAN_07 参数文件丢失恢复相关资讯      Oracle高级培训 
  • delete表的数据后恢复  (08/30/2012 08:59:58)
  • 使用ASH信息,发现高CPUsession  (08/14/2012 07:21:32)
  • 如何阅读Oracle Errorstack Output  (08/14/2012 07:15:47)
  • Oracle Apps Patching:adpatch(  (08/16/2012 15:41:37)
  • 话说V$SQL_MONITOR  (08/14/2012 07:19:54)
  • Oracle Apps DBA工具:ADADMIN使用  (08/14/2012 07:00:09)
本文评论 查看全部评论 (0)
表情: 姓名: 字数