今天使用rman duplicate进行数据库恢复时,出现了如下错误:

{
   sql clone "alter system set  db_name = 
 ''HCMTST'' comment=
 ''Reset to original value by RMAN'' scope=spfile";
   sql clone "alter system reset  db_unique_name scope=spfile";
   shutdown clone immediate;
}
executing Memory Script

Errors in memory script
RMAN-03015: error occurred in stored script Memory Script
RMAN-06136: ORACLE error from auxiliary database: ORA-01507: database not mounted
ORA-06512: at "SYS.X$DBMS_RCVMAN", line 13658
ORA-06512: at line 1
RMAN-03015: error occurred in stored script Memory Script
RMAN-10032: unhandled exception during execution of job step 5: 
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile '/home/oratest/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_4332_830698169.dbf'
RMAN-11001: Oracle Error: 
ORA-00283: recovery session canceled due to errors
ORA-19755: could not open change tracking file
ORA-19750: change tracking file: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/change.block'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 10/17/2014 17:29:20
RMAN-05501: aborting duplication of target database

通过日志可以看出来,在源数据库启用了block change tracking的情况下,rman无法按照设置的db_file_name_convert来重命名block change tracking file,导致恢复的时候报错。

查看MOS,找到如下文章Rman Duplicate fail ORA-19755, Tries Open The Block Change Tracking File of Source DB (文档 ID 1098638.1),在11gr2中,这是一个bug,可以通过安装相应的补丁来解决。

作为workaround,可以在源数据库中禁用Block change tracking特性来绕过此问题。


花菜土豆粉
67 声望27 粉丝

Life with Oracle