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; 
版权声明:本文为博主原创文章,未经博主允许不得转载。
修复控制文件
- 上一篇:重建控制文件
 - 下一篇:坏块系列-表坏块及抽取数据方法测试
 

					
					
				
			

