I am trying to perform a duplication on an Oracle 12c RAC database from a backup on disk without connecting to the target or catalog databases. I want to do this to test my daily backup and to provide a staging database for running automated integration tests for my developers. In this scenario, the TST database is the target (source) and the DUP database is the auxiliary (duplicate); currently they reside on the same RAC cluster using the same ASM disk groups for storage.
My RMAN script errors out with 'ORA-29760: instance_number parameter not specified ' after each run despite changes to the pfile used to start the auxiliary instance. Below is my procedure:
Verify the backups including spfile and control file:
$ ls -lah /nfsrmanprog/staging
total 3.1G
drwxr-xr-x. 2 oracle oinstall 4.0K Sep 3 08:40 .
drwxr-xr-x. 4 oracle dba 24K Sep 1 13:01 ..
-rw-r-----. 1 oracle asmadmin 38M Sep 1 14:06 TST_archlog_20150901_s7_p1.bkp
-rw-r-----. 1 oracle asmadmin 174M Sep 3 08:40 TST_archlog_20150903_s12_p1.bkp
-rw-r-----. 1 oracle asmadmin 19M Sep 1 14:06 TST_ctlfile_20150901_s8_p1.ctl
-rw-r-----. 1 oracle asmadmin 19M Sep 3 08:40 TST_ctlfile_20150903_s13_p1.ctl
-rw-r-----. 1 oracle asmadmin 19M Sep 1 13:04 TST_fulldb_20150901_s4_p1.dbf
-rw-r-----. 1 oracle asmadmin 1.4G Sep 1 14:06 TST_fulldb_20150901_s5_p1.dbf
-rw-r-----. 1 oracle asmadmin 19M Sep 1 14:06 TST_fulldb_20150901_s6_p1.dbf
-rw-r-----. 1 oracle asmadmin 1.4G Sep 3 08:39 TST_fulldb_20150903_s10_p1.dbf
-rw-r-----. 1 oracle asmadmin 19M Sep 3 08:39 TST_fulldb_20150903_s11_p1.dbf
-rw-r-----. 1 oracle asmadmin 96K Sep 1 14:06 TST_spfile_20150901_s9_p1.ora
-rw-r-----. 1 oracle asmadmin 96K Sep 3 08:40 TST_spfile_20150903_s14_p1.ora
Set the cluster database parameter to false, then shutdown the duplicate database:
$ echo $ORACLE_SID
DUP1
$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Tue Sep 8 13:17:20 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Release 12.1.0.1.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> alter system set cluster_database=false scope=spfile sid='DUP1';
System altered.
SQL> quit
Disconnected from Oracle Database 12c Release 12.1.0.1.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
$ srvctl stop database -d DUP
$
Verify the pfile contents, then start auxiliary instance with the pfile:
$ cat /nfshome/oracle/staging/init2.ora
db_name="DUP"
compatible="12.1.0.0.0"
db_file_name_convert="+ORACLE_DATA/TST","+ORACLE_DATA/DUP"
log_file_name_convert="+ORACLE_DATA/TST","+ORACLE_DATA/DUP","+FAST_RECOVERY/TST","+FAST_RECOVERY/DUP"
$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Tue Sep 8 13:22:41 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount pfile='/nfshome/oracle/staging/init2.ora';
ORACLE instance started.
Total System Global Area 425955328 bytes
Fixed Size 2851192 bytes
Variable Size 364908168 bytes
Database Buffers 50331648 bytes
Redo Buffers 7864320 bytes
SQL>
Run the RMAN duplication session connecting only to the auxiliary database:
$ echo $ORACLE_SID
DUP1
$ rman auxiliary /
Recovery Manager: Release 12.1.0.1.0 - Production on Tue Sep 8 13:24:26 2015
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
connected to auxiliary database: DUP (not mounted)
RMAN> duplicate database to DUP spfile backup location '/nfsrmanprog/staging';
Starting Duplicate Db at 08-SEP-15
contents of Memory Script:
{
restore clone spfile to '+ORACLE_DATA/DUP/spfiledup.ora' from
'/nfsrmanprog/staging/TST_spfile_20150903_s14_p1.ora';
sql clone "alter system set spfile= ''+ORACLE_DATA/DUP/spfiledup.ora''";
}
executing Memory Script
Starting restore at 08-SEP-15
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=1162 device type=DISK
channel ORA_AUX_DISK_1: restoring spfile from AUTOBACKUP /nfsrmanprog/staging/TST_spfile_20150903_s14_p1.ora
channel ORA_AUX_DISK_1: SPFILE restore from AUTOBACKUP complete
Finished restore at 08-SEP-15
sql statement: alter system set spfile= ''+ORACLE_DATA/DUP/spfiledup.ora''
contents of Memory Script:
{
sql clone "alter system set db_name =
''DUP'' comment=
''duplicate'' scope=spfile";
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script
sql statement: alter system set db_name = ''DUP'' comment= ''duplicate'' scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 09/08/2015 13:25:27
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-04014: startup failed: ORA-29760: instance_number parameter not specified
RMAN>
Does anyone know why this might be occurring?
Thanks,
J