场景:Oracle 10g RAC;数据文件、控制文件、联机日志、参数文件都使用ASM,归档到ASM.完整备份后,删除所有控制文件、联机日志、数据文件;最后利用备份进行不完全恢复。
1.模拟灾难场景(略)
2.恢复步骤
1.将数据库启动到nomount状态
SQL>startup nomount 2.用RMAN从自动备份中恢复控制文件,在某个实例中执行
RMAN>restore controfile from '存储备份文件的备份集'; 3.挂载数据库
RMAN>sql'alter database mount'; 4.恢复数据文件
RMAN>restore database;
注:采用OMF维护文件是,文件会被重命名,并且会同步到控制文件 5.控制文件中归档日志记录
SQL>select name from v$archived_log;
... 6.磁盘上的归档日志
export ORACLE_SID=+ASM1
asmcmd -p
ASMCMD[+ARCH1/wxxrtest/]>ls
..... 7.将未记录在控制文件中的归档日志重新登记到控制文件见中
RMAN>catalog archivelog '+ARCH1/wxxrtest/1_69_660747390.dbf';
..... 8.再次查看控制文件中的归档日志记录
SQL>select thread#,sequence#,name,next_change# from v$archived_log; 9.执行不完全恢复
SQL>recover database using backup controfile until cancal; 10.以resetlogs方式打开数据库
RMAN>sql'alter database open resetlogs'; 11.打开其他实例
$srvctl start database -d wxxrtest
整理自《大话RAC》张晓明著 P301-P306