| 适用于:   Oracle Database – Enterprise Edition – 版本11.2.0.2 及以上本文信息适用于任何平台。
 症状 在归档重做日志应用期间,RMAN Duplicate from active database(备用数据库)失败。 有时后续的重新尝试会成功。有时实例的热启动能更正问题。
 ++ 问题是频繁但间歇的。   触发错误的代码: connect target sys/${sys_pwd}@${_TargetDb}connect auxiliary sys/${sys_pwd}@TNSDXSBL2
 run {
 duplicate target database to DXSBL2
 from active database
 db_file_name_convert=(‘/u08/oradata/SXSBL/’,’/u31/oradata/DXSBL2/’
 ,’/u09/oradata/SXSBL/’,’/u32/oradata/DXSBL2/’
 ,’/u10/oradata/SXSBL/’,’/u32/oradata/DXSBL2/’)
 logfile
 group 1 (‘/u31/oradata/DXSBL2/redo01a.dbf’,’/u32/oradata/DXSBL2/redo01b.dbf’) SIZE 100M,
 group 2 (‘/u31/oradata/DXSBL2/redo02a.dbf’,’/u32/oradata/DXSBL2/redo02b.dbf’) SIZE 100M,
 group 3 (‘/u31/oradata/DXSBL2/redo03a.dbf’,’/u32/oradata/DXSBL2/redo03b.dbf’) SIZE 100M,
 group 4 (‘/u31/oradata/DXSBL2/redo04a.dbf’,’/u32/oradata/DXSBL2/redo04b.dbf’) SIZE 100M;
 }
     症状: << Auxiliary instance alert log >>alter database recover logfile ‘/u33/oradata/DXSBL2/archive/DXSBL2_1_21379_681398425.arc’
 Media Recovery Log /u33/oradata/DXSBL2/archive/DXSBL2_1_21379_681398425.arc
 Fri Feb 24 05:47:16 2012
 Recovery Slave PR09 died                                <====
 Fri Feb 24 05:47:17 2012
 Recovery interrupted!
 Recovered data files to a consistent state at change 390182553245
 Media Recovery failed with error 448
 Errors in file /u01/app/oracle/diag/rdbms/dxsbl2_devdb01/DXSBL2/trace/DXSBL2_pr00_17882.trc:
 ORA-00283: recovery session canceled due to errors
 ORA-00448: normal completion of background process
 ORA-10878 signalled during: alter database recover logfile ‘/u33/oradata/DXSBL2/archive/DXSBL2_1_21379_681398425.arc’…
 << another attempt..auxiliary instance alert log >>
 Parallel Media Recovery started with 64 slaves
 ORA-279 signalled during: alter database recover if needed
 start until change 390190874621 using backup controlfile
 …
 alter database recover logfile ‘/u33/oradata/DXSBL2/archive/DXSBL2_1_21523_681398425.arc’
 Media Recovery Log /u33/oradata/DXSBL2/archive/DXSBL2_1_21523_681398425.arc
 Wed Feb 29 05:42:11 2012
 Recovery Slave PR0E died                                  <====
 Wed Feb 29 05:42:11 2012
 Recovery interrupted!
 Recovered data files to a consistent state at change 390190871699
 Media Recovery failed with error 448
 Errors in file /u01/app/oracle/diag/rdbms/dxsbl2_devdb01/DXSBL2/trace/DXSBL2_pr00_14458.trc:
 ORA-00283: recovery session canceled due to errors
 ORA-00448: normal completion of background process
 ORA-10878 signalled during: alter database recover logfile ‘/u33/oradata/DXSBL2/archive/DXSBL2_1_21523_681398425.arc’…
 ..
 Recovery slave PR0E died
   在跟踪文件中没有线索 原因 问题似乎由于内存crunch。 复制进程触发并行恢复,我们无法像在’Recover database … noparallel’中控制它。 即使在辅助实例中设置PARALLEL_MAX_SERVERS=0 也没有帮助。 解决方案   当使用slave执行RMAN 时,使用的内存会是large_pool。 当前值:large_pool_size = 16M 似乎不足
 所以增加 large_pool_size 能解决问题。 |