1 说明
控制文件毫无疑问是一个数据库正常工作的必不可少的一个文件。非常重要,所以控制文件出现坏块需要第一时间进行修复。通常会以ORA-00227来表示控制文件出现坏块。
通过oerr来查看错误信息,处理方法Oracle也已经给了建议。
SQL> !oerr ora 00227
00227, 00000, "corrupt block detected in control file: (block %s, # blocks %s)"
// *Cause: A block header corruption or checksum error was detected on reading
// the control file.
// *Action: Use the CREATE CONTROLFILE or RECOVER DATABASE USING BACKUP // CONTROLFILE command.
Bug 20324049会引起该错误,详细信息,请查看:Bug 20324049
方法一:使用其他可用的控制文件镜像拷贝过来覆盖即可
如:
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/CNDBA/
controlfile/o1_mf_dstgbo7y_.ct
l, /u01/app/oracle/fast_recove
ry_area/cndba/CNDBA/controlfil
e/o1_mf_dstgboon_.ctl
cp /u01/app/oracle/fast_recovery_area/cndba/CNDBA/controlfile/o1_mf_dstgboon_.ctl /u01/app/oracle/oradata/orcl/control1.ctl
方法二:如果没有其他可用的控制文件镜像,那么可以通过重建控制文件
具体方法参考:
http://www.cndba.cn/Expect-le/article/2195
方法三:通过备份恢复控制文件-
RMAN> RECOVER DATABASE USING BACKUP CONTROLFILE;
版权声明:本文为博主原创文章,未经博主允许不得转载。
修复控制文件
- 上一篇:重建控制文件
- 下一篇:坏块系列-表坏块及抽取数据方法测试