RMAN-10038, RMAN-05501: active duplicate fails with error

betrifft: Oracle Database – Enterprise Edition – Version 11.2.0.4 and later – jede Plattform

Fehlerausgabe:
Command is: DUPLICATE TARGET DATABASE TO CPLBDV01 FROM ACTIVE DATABASE SKIP TABLESPACE XXJLP_TS_ARCHIVE;

The failure occurs after all of the datafiles have been copied, snippet from end of the log:
channel ORA_DISK_3: datafile copy complete, elapsed time: 00:00:01
output file name=/cplbdv01/data/a_nolog01.dbf tag=TAG20160420T115804
channel ORA_DISK_2: datafile copy complete, elapsed time: 00:00:03
Finished backup at 20-APR-16 18:45:04
sql statement: alter system archive log current
Oracle instance started
Total System Global Area 2137886720 bytes
Fixed Size 2248080 bytes
Variable Size 520094320 bytes
Database Buffers 1610612736 bytes
Redo Buffers 4931584 bytes
contents of Memory Script:
{
sql clone “alter system set db_name =
”CPLBDV01” 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
sql statement: alter system set db_name = ”CPLBDV01” comment= ”Reset to original value by RMAN” scope=spfile
sql statement: alter system reset db_unique_name scope=spfile
Oracle instance shut down
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 04/20/2016 19:30:29
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of sql command on ORA_AUX_DISK_1 channel at 04/20/2016 18:54:07
RMAN-10038: database session for channel ORA_AUX_DISK_1 terminated unexpectedly

Lösungsansätze:
a) Da es sich um ein Netzwerkproblem handelt – die SQLNET.ora anpasssen TIMEOUT(SQLNET.EXPIRE_TIME=10). Falls notwendig den TIMEOUT mit dem Anbieter einer Firewall abklären

b) per nohup option,

1. Ein RMAN backup script erstellen:
$ vi backup.txt
run
{
DUPLICATE TARGET DATABASE TO CPLBDV01 FROM ACTIVE DATABASE SKIP TABLESPACE XXJLP_TS_ARCHIVE;
}

2. mit einem zweiten Script rman aufrufen:
$ vi rman.scpt
export ORACLE_SID=<>
export ORACLE_HOME=<>
export PATH=$PATH1:$ORACLE_HOME/bin
rman catalog rman/rmanPWD@<catalog connect> target <credentials> msglog <location>/rman_backup.log cmdfile=<location>/backup.txt

3. run the script in nohup,
$ nohup ./rman.scpt