oracle控制文件记录着数据文件、日志文件的位置及SCN等信息,十分重要。若丢失数据库无法打开,影响较大,所以官方见采用多路复用的方式进行冗余备份。
控制文件丢失有以下几种情况:
1、有rman备份
对数据库进行过全库备份或者配置CONTROLFILE AUTOBACKUP ON(每次在rman中执行backup时都会备份控制文件),此时控制文件丢失可以使用备份文件进行恢复
RMAN> list backup of controlfile;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
1312 Full 9.89M DISK 00:00:02 23-8月 -13
BP 关键字: 1389 状态: AVAILABLE 已压缩: NO 标记: TAG20130823T103349
段名:/u01/app/oracle/flash_recovery_area/ORCL/autobackup/2013_08_23/o1_mf_s_823619925_91fljgwo_.bkp
包括的控制文件: Ckp SCN: 383068075 Ckp 时间: 16-8月 -13
以上是自动备份结果信息
[oracle@redhat4 ~]$ rm /u01/app/oracle/oradata/JIAGULUN/controlfile/o1_mf_7p5b2xty_.ctl
[oracle@redhat4 ~]$ rm /u01/app/oracle/flash_recovery_area/JIAGULUN/controlfile/o1_mf_7p5b2y0c_.ctl
删除控制文件,模拟控制文件丢失
SQL> shutdown immediate ORA-01109: 数据库未打开 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 734003200 bytes Fixed Size 2023688 bytes Variable Size 201330424 bytes Database Buffers 528482304 bytes Redo Buffers 2166784 bytes
ORA-00205: error in identifying control file, check alert log for more info