- 论坛徽章:
- 0
|
现有生产系统是两个节点的9i rac,归档日志没有放在共享文件系统上。每天做rman全备,备份脚本片段如下:
CONFIGURE DEVICE TYPE sbt PARALLELISM 4;
CONFIGURE DEFAULT DEVICE TYPE to sbt;
CONFIGURE CHANNEL DEVICE TYPE sbt maxopenfiles=1;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 31 DAYS;
configure CHANNEL 1 device type sbt connect 'sys/xx' parms='ENV=(NB_ORA_POLICY=inst1_db,NB_ORA_CLIENT=inst1)';
configure CHANNEL 2 device type sbt connect 'sys/xx' parms='ENV=(NB_ORA_POLICY=inst1_db,NB_ORA_CLIENT=inst1)';
configure CHANNEL 3 device type sbt connect 'sys/xx@inst2' parms='ENV=(NB_ORA_POLICY=inst2_db,NB_ORA_CLIENT=inst2)';
configure CHANNEL 4 device type sbt connect 'sys/xx@inst2' parms='ENV=(NB_ORA_POLICY=inst2_db,NB_ORA_CLIENT=inst2)';
BACKUP FULL DATABASE PLUS ARCHIVELOG DELETE ALL INPUT;
备份每天都是成功的,通道1和2备份thread1的归档,通道3和4备份thread2的归档。现在需要在另一台机器上恢复测试,恢复的rman脚本片段如下:
run{
ALLOCATE CHANNEL DEV1 type sbt parms='ENV=(NB_ORA_POLICY=inst1_db,NB_ORA_CLIENT=inst1)' ;
ALLOCATE CHANNEL DEV2 type sbt parms='ENV=(NB_ORA_POLICY=inst1_db,NB_ORA_CLIENT=inst1)' ;
ALLOCATE CHANNEL DEV3 type sbt parms='ENV=(NB_ORA_POLICY=inst2_db,NB_ORA_CLIENT=inst2)';
ALLOCATE CHANNEL DEV4 type sbt parms='ENV=(NB_ORA_POLICY=inst2_db,NB_ORA_CLIENT=inst2)';
set until time "to_date('20100525 01:00:00','YYYYMMDD HH24:MI:SS')";
restore database;
recover database;
RELEASE CHANNEL DEV1;
RELEASE CHANNEL DEV2;
RELEASE CHANNEL DEV3;
RELEASE CHANNEL DEV4;
}
restore database这一步都是没问题的,关键是到了recover这一步,四个通道恢复需要的archivelog的时候,通道3和4试图恢复thread1的归档,或者通道1,2试图恢复thread2的归档,结果就会报错,通道找不到相应的归档备份片。
请问,在保留两个实例同时备份的前提下,如何在异机恢复? |
|