首页 > 数据库 > Oracle > ORACLE控制文件丢失恢复
查找数据库异常原因:
1、开库,发现控制文件异常:
|
SQL> startup mount; ORACLE instance started. Total System Global Area 570425344 bytes Fixed Size 2022480 bytes Variable Size 188744624 bytes Database Buffers 373293056 bytes Redo Buffers 6365184 bytes ORA-00205: error in identifying control file, check alert log for more info |
2、通过告警日志发现控制文件control03.ctl损坏:
|
[oracle@aix222 bdump]$tail -f alert_prod.log Wed Jul 16 15:20:33 2014 starting up 1 shared server(s) ... Wed Jul 16 15:20:34 2014 ALTER DATABASE MOUNT Wed Jul 16 15:20:36 2014 ORA-00202: control file: '/u01/app/oracle/oradata/prod/control03.ctl' ORA-27047: unable to read the header block of file Additional information: 2 Wed Jul 16 15:20:36 2014 ORA-205 signalled during: ALTER DATABASE MOUNT... |
[实施步骤]
重要:查看控制文件多元化,如果有多个控制文件,直接关库,cp ,然后开库, 时间最重要,选取最简单可靠的方案恢复数据库。
1、通过rman恢复控制文件
SQL> select name,dbid from v$database;
NAME DBID
--------- ----------
ORCL 1272984602
|
RMAN> set dbid=1272984602 RMAN> restore controlfile from '/backup/c-264746924-20140716-10.ctl'; RMAN> alter database mount; RMAN> recover database ; RMAN> alter database open resetlogs; |
2、检查恢复状况
|
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS ---------------- ------------ prod OPEN |
3、重新做数据库全备份
4、也可以用cp 拷贝好的控制文件到坏的控制文件的地址,
shutdown abort;
cp control01.ctl control03.ctl
startup ;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29827680/viewspace-1257705/ ,如需转载,请注明出处,否则将追究法律责任。