RAC控制文件恢复(三种不同情况)
测试环境:
系统:LINUX-64
数据库:10.2.0.1
二节点的RAC(RACDB1,RACDB2),存储用的ASM
有备份情况下,丢失控制文件,我们改如何恢复?
一:使用备份的控制文件恢复,最后需要使用resetlogs打开。(1) 备份控制文件RMAN> backup current controlfile;
(2) 进行日志切换和数据修改RACDB1>alter system switch logfile;
System altered.
RACDB1>create table test2 as select * from dba_users;
Table created.
RACDB1>alter system switch logfile;
System altered.
RACDB1>SELECT thread#,group#,sequence#,status FROM V$log;
THREAD# GROUP# SEQUENCE# STATUS
---------- ---------- ---------- ----------------
1 1 5 ACTIVE
1 2 6 CURRENT
2 3 3 CURRENT
2 4 2 INACTIVE
1 5 4 INACTIVE
(3) 关闭数据库,删除控制文件RACDB1>shutdown abort;
RACDB2>shutdown abort;
ASMCMD> pwd
+rac_disk/racdb/controlfile
ASMCMD> ls
Current.256.794232615
ASMCMD> rm *
(4) 启动数据库,无控制文件,所以只能到nomountRACDB1>startup
ORACLE instance started.
Total System Global Area 184549376 bytes
Fixed Size 2019448 bytes
Variable Size 142610312 bytes
Database Buffers 37748736 bytes
Redo Buffers 2170880 bytes
ORA-00205: error in identifying control file, check alert log for more info
(5) 恢复控制文件RMAN> restore controlfile from '+RAC_DISK/racdb/backupset/2012_09_28/ncnnf0_tag20120928t003933_0.272.795141579';
RACDB1>alter database mount;
Database altered.
RACDB1>SELECT thread#,group#,sequence#,status FROM V$log;
THREAD# GROUP# SEQUENCE# STATUS
---------- ---------- ---------- ----------------
1 1 2 CURRENT
1 2 0 UNUSED
1 5 1 INACTIVE
2 4 0 UNUSED
2 3 1 CURRENT
(6) 恢复数据库先使用auto,恢复到current联机日志,oracle会提示找不到归档,这时候需要自己手动输入联机日志。如下:
RACDB1>recover database using backup controlfile;
ORA-00279: change 1185078 generated at