Oracle RMAN Duplicate from active database,间歇报错ORA-00283 ORA-448 ORA-10878

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

适用于:

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 能解决问题。

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号