恢复归档日志的方法:
RAC是ASM的存储且是OMF创建的格式,所以RAC的日志名为如下+ARCH/mioa/archive/1_73554_875548170.dbf、+ARCH/mioa/archive/2_57012_875548170.dbf
,且在系统视图v$archived_log中显示的也是如此,但是在实际的ASM存储上它除了上述第一个路径路径外还有如下的别名路径,
在+ARCH/mioa/archive/执行 ls –l 显示如下
1_73554_875548170.dbf => +ARCH/MIOA/ARCHIVELOG/2016_07_29/thread_1_seq_73554.508.918437811
2_57012_875548170.dbf => +ARCH/MIOA/ARCHIVELOG/2016_07_29/thread_2_seq_57012.508.918437811
一般用到RAC归档日志在单机恢复的场景为Dataguard,所以我们必须保证主备库的log_archive_format参数保持一致,这样就方便多了,log_archive_format参数默认是%t_%s_%r.dbf
%t:thread number
%s:log sequence number
%r:resetlogs ID
具体恢复操作如下
1. 把主库RAC环境下的归档日志备份包scp到备库单机环境下,例如为
/backup/mioa/mioa_arch_2brb4od1_1_1
2. 备库再顺序执行如下语句即可
RMAN> catalog backuppiece '/backup/mioa/mioa_arch_2brb4od1_1_1';
RMAN> list backupset;
RMAN > restore archivelog from logseq 72653 until logseq 72679 thread 1;或
RMAN > restore archivelog from logseq 72653 until logseq 72679;
RMAN> restore archivelog from logseq 56385 until logseq 56399 thread 2;
以上不知为何加thread 1出现过问题,不加thread 2出现问题还是挺好理解,因为它可能把它当成了thead 1来处理了,而thead 1压根不再存在sequence那么小的归档日志。以上命令从9i开始已经建议使用用sequence关键字代替了logseq关键字了