Since no connectivity from source database is required for this technique of duplicating , there's no need to create static listener configuration in the duplicate host nor adding tns entry to the source tnsnames.ora file.
But a default listener is needed for the database.
The source database is called ent11g2 and the duplicated database will be named dupdb.
1. On the source database create a full database backup and copy the backup to the host where duplicate database will be created. The backup location need not be same as in the source location. For this post the backups will be copied to location "/home/oracle/backup" in the host used for the duplicate database. The source database is using OMF names and using recovery destination for the backups. If auto backup of control file is enabled copy the auto backup control file and the backup sets to the host where the duplicate database will be created.
cd /data/flash_recovery/ENT11G2 ls archivelog autobackup backupset controlfile flashback onlinelog cd autobackup/2013_10_01/ ls o1_mf_s_827667431_94o9gqww_.bkp <==== auto backup of control file scp -C o1_mf_s_827667431_94o9gqww_.bkp 192.168.0.99:/home/oracle/backup o1_mf_s_827667431_94o9gqww_.bkp 100% 10MB 10.2MB/s cd backupset/2013_10_01 $ scp -C * 192.168.0.99:/home/oracle/backup o1_mf_annnn_TAG20131001T113643_94o9fw2g_.bkp 100% 14MB 6.9MB/s 00:02 o1_mf_annnn_TAG20131001T113710_94o9gpnp_.bkp 100% 11KB 10.5KB/s 00:00 o1_mf_nnndf_TAG20131001T113645_94o9fxjn_.bkp 100% 2170MB 13.2MB/s 02:45That's the only time the source database is involved. Rest of the steps happen in the host used for the duplication.
2. Create password file for the duplicate database. This is not a must for the duplication (this method of duplication will work even without a password file) but may be required later on when the duplicate database is in use.
orapwd file=orapwdupdb password=password ignorecase=y3. Create the directory for the audit files. Without this duplication would fail with audit trail set to OS.
mkdir -p /opt/app/oracle/admin/dupdb/adump4. Create an init file with the db_name parameter set in it.
cat initdupdb.ora db_name='dupdb'5. Start the duplicate database in the nomount mode.
export ORACLE_SID=dupdb SQL> startup nomount;6. Connect to the duplicate database using an rman auxiliary connection
[oracle@hpc5 dbs]$ rman auxiliary / Recovery Manager: Release 11.2.0.3.0 - Production on Tue Oct 1 12:58:49 2013 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to auxiliary database: DUPDB (not mounted)and run the duplicate command
DUPLICATE TARGET DATABASE TO dupdb SPFILE PARAMETER_VALUE_CONVERT 'ent11g2', 'dupdb', '/data/oradata', '/opt/app/oracle/oradata', '/data/flash_recovery','/opt/app/oracle/flash_recovery_area','ENT11G2','DUPDB' set db_create_file_dest='/opt/app/oracle/oradata' set db_recovery_file_dest='/opt/app/oracle/flash_recovery_area' BACKUP LOCATION '/home/oracle/backup';When data files use OMF names rather than using *file_name_convert parameter duplication must use create_file_dest. Refer Specifying OMF or ASM Alternative Names for Duplicate Database Files section on Oracle documentation.
Full output of the duplicate command is given below.
RMAN> DUPLICATE TARGET DATABASE 2> TO dupdb 3> SPFILE PARAMETER_VALUE_CONVERT 'ent11g2', 'dupdb', '/data/oradata', '/opt/app/oracle/oradata', '/data/flash_recovery','/opt/app/oracle/flash_recovery_area','ENT11G2','DUPDB' 4> set db_create_file_dest='/opt/app/oracle/oradata' 5> set db_recovery_file_dest='/opt/app/oracle/flash_recovery_area' 6> BACKUP LOCATION '/home/oracle/backup'; Starting Duplicate Db at 01-OCT-13 contents of Memory Script: { restore clone spfile to '/opt/app/oracle/product/11.2.0/ent11.2.0.3/dbs/spfiledupdb.ora' from '/home/oracle/backup/o1_mf_s_827667431_94o9gqww_.bkp'; sql clone "alter system set spfile= ''/opt/app/oracle/product/11.2.0/ent11.2.0.3/dbs/spfiledupdb.ora''"; } executing Memory Script Starting restore at 01-OCT-13 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=216 device type=DISK channel ORA_AUX_DISK_1: restoring spfile from AUTOBACKUP /home/oracle/backup/o1_mf_s_827667431_94o9gqww_.bkp channel ORA_AUX_DISK_1: SPFILE restore from AUTOBACKUP complete Finished restore at 01-OCT-13 sql statement: alter system set spfile= ''/opt/app/oracle/product/11.2.0/ent11.2.0.3/dbs/spfiledupdb.ora'' contents of Memory Script: { sql clone "alter system set db_name = ''DUPDB'' comment= ''duplicate'' scope=spfile"; sql clone "alter system set audit_file_dest = ''/opt/app/oracle/admin/dupdb/adump'' comment= '''' scope=spfile"; sql clone "alter system set control_files = ''/opt/app/oracle/oradata/DUPDB/controlfile/o1_mf_696xsob5_.ctl'', ''/opt/app/oracle/flash_recovery_area/DUPDB/controlfile/o1_mf_696xsoc9_.ctl'' comment= '''' scope=spfile"; sql clone "alter system set dispatchers = ''(PROTOCOL=TCP) (SERVICE=dupdbXDB)'' comment= '''' scope=spfile"; sql clone "alter system set db_create_file_dest = ''/opt/app/oracle/oradata'' comment= '''' scope=spfile"; sql clone "alter system set db_recovery_file_dest = ''/opt/app/oracle/flash_recovery_area'' comment= '''' scope=spfile"; shutdown clone immediate; startup clone nomount; } executing Memory Script sql statement: alter system set db_name = ''DUPDB'' comment= ''duplicate'' scope=spfile sql statement: alter system set audit_file_dest = ''/opt/app/oracle/admin/dupdb/adump'' comment= '''' scope=spfile sql statement: alter system set control_files = ''/opt/app/oracle/oradata/DUPDB/controlfile/o1_mf_696xsob5_.ctl'', ''/opt/app/oracle/flash_recovery_area/DUPDB/controlfile/o1_mf_696xsoc9_.ctl'' comment= '''' scope=spfile sql statement: alter system set dispatchers = ''(PROTOCOL=TCP) (SERVICE=dupdbXDB)'' comment= '''' scope=spfile sql statement: alter system set db_create_file_dest = ''/opt/app/oracle/oradata'' comment= '''' scope=spfile sql statement: alter system set db_recovery_file_dest = ''/opt/app/oracle/flash_recovery_area'' comment= '''' scope=spfile Oracle instance shut down connected to auxiliary database (not started) Oracle instance started Total System Global Area 3758010368 bytes Fixed Size 2233960 bytes Variable Size 738199960 bytes Database Buffers 2986344448 bytes Redo Buffers 31232000 bytes contents of Memory Script: { sql clone "alter system set control_files = ''/opt/app/oracle/oradata/DUPDB/controlfile/o1_mf_696xsob5_.ctl'', ''/opt/app/oracle/flash_recovery_area/DUPDB/controlfile/o1_mf_696xsoc9_.ctl'' comment= ''Set by RMAN'' scope=spfile"; sql clone "alter system set db_name = ''ENT11G2'' comment= ''Modified by RMAN duplicate'' scope=spfile"; sql clone "alter system set db_unique_name = ''DUPDB'' comment= ''Modified by RMAN duplicate'' scope=spfile"; shutdown clone immediate; startup clone force nomount restore clone primary controlfile from '/home/oracle/backup/o1_mf_s_827667431_94o9gqww_.bkp'; alter clone database mount; } executing Memory Script sql statement: alter system set control_files = ''/opt/app/oracle/oradata/DUPDB/controlfile/o1_mf_696xsob5_.ctl'', ''/opt/app/oracle/flash_recovery_area/DUPDB/controlfile/o1_mf_696xsoc9_.ctl'' comment= ''Set by RMAN'' scope=spfile sql statement: alter system set db_name = ''ENT11G2'' comment= ''Modified by RMAN duplicate'' scope=spfile sql statement: alter system set db_unique_name = ''DUPDB'' comment= ''Modified by RMAN duplicate'' scope=spfile Oracle instance shut down Oracle instance started Total System Global Area 3758010368 bytes Fixed Size 2233960 bytes Variable Size 738199960 bytes Database Buffers 2986344448 bytes Redo Buffers 31232000 bytes Starting restore at 01-OCT-13 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=958 device type=DISK channel ORA_AUX_DISK_1: restoring control file channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02 output file name=/opt/app/oracle/oradata/DUPDB/controlfile/o1_mf_696xsob5_.ctl output file name=/opt/app/oracle/flash_recovery_area/DUPDB/controlfile/o1_mf_696xsoc9_.ctl Finished restore at 01-OCT-13 database mounted released channel: ORA_AUX_DISK_1 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=958 device type=DISK contents of Memory Script: { set until scn 51111288; set newname for clone datafile 1 to new; set newname for clone datafile 2 to new; set newname for clone datafile 3 to new; set newname for clone datafile 4 to new; set newname for clone datafile 5 to new; set newname for clone datafile 6 to new; set newname for clone datafile 7 to new; set newname for clone datafile 8 to new; set newname for clone datafile 9 to new; set newname for clone datafile 10 to new; set newname for clone datafile 11 to new; set newname for clone datafile 12 to new; set newname for clone datafile 13 to new; set newname for clone datafile 14 to new; restore clone database ; } executing Memory Script executing command: SET until clause executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME Starting restore at 01-OCT-13 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00001 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_system_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00002 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_sysaux_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00003 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_undotbs1_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00004 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_users_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00005 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_example_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00006 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_velbo_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00007 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_datatbs_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00008 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_index_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00009 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobs_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00010 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_test_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00011 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_test_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00012 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobtbs_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00013 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobtbs11_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00014 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_2ktbs_%u_.dbf channel ORA_AUX_DISK_1: reading from backup piece /home/oracle/backup/o1_mf_nnndf_TAG20131001T113645_94o9fxjn_.bkp channel ORA_AUX_DISK_1: piece handle=/home/oracle/backup/o1_mf_nnndf_TAG20131001T113645_94o9fxjn_.bkp tag=TAG20131001T113645 channel ORA_AUX_DISK_1: restored backup piece 1 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:02:15 Finished restore at 01-OCT-13 contents of Memory Script: { switch clone datafile all; } executing Memory Script datafile 1 switched to datafile copy input datafile copy RECID=15 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_system_94og8tfx_.dbf datafile 2 switched to datafile copy input datafile copy RECID=16 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_sysaux_94og8tf6_.dbf datafile 3 switched to datafile copy input datafile copy RECID=17 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_undotbs1_94og8tdb_.dbf datafile 4 switched to datafile copy input datafile copy RECID=18 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_users_94og8tgf_.dbf datafile 5 switched to datafile copy input datafile copy RECID=19 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_example_94og8tgo_.dbf datafile 6 switched to datafile copy input datafile copy RECID=20 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_velbo_94og8tfg_.dbf datafile 7 switched to datafile copy input datafile copy RECID=21 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_datatbs_94og939j_.dbf datafile 8 switched to datafile copy input datafile copy RECID=22 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_index_94og8tfp_.dbf datafile 9 switched to datafile copy input datafile copy RECID=23 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobs_94og8wxx_.dbf datafile 10 switched to datafile copy input datafile copy RECID=24 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_test_94og91sh_.dbf datafile 11 switched to datafile copy input datafile copy RECID=25 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_test_94og93d0_.dbf datafile 12 switched to datafile copy input datafile copy RECID=26 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobtbs_94og8yhj_.dbf datafile 13 switched to datafile copy input datafile copy RECID=27 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobtbs11_94og8zw0_.dbf datafile 14 switched to datafile copy input datafile copy RECID=28 STAMP=827672497 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_2ktbs_94og8tg5_.dbf contents of Memory Script: { set until scn 51111288; recover clone database delete archivelog ; } executing Memory Script executing command: SET until clause Starting recover at 01-OCT-13 using channel ORA_AUX_DISK_1 starting media recovery channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: restoring archived log archived log thread=1 sequence=503 channel ORA_AUX_DISK_1: reading from backup piece /home/oracle/backup/o1_mf_annnn_TAG20131001T113710_94o9gpnp_.bkp channel ORA_AUX_DISK_1: piece handle=/home/oracle/backup/o1_mf_annnn_TAG20131001T113710_94o9gpnp_.bkp tag=TAG20131001T113710 channel ORA_AUX_DISK_1: restored backup piece 1 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 archived log file name=/opt/app/oracle/flash_recovery_area/DUPDB/archivelog/2013_10_01/o1_mf_1_503_94ogf2sd_.arc thread=1 sequence=503 channel clone_default: deleting archived log(s) archived log file name=/opt/app/oracle/flash_recovery_area/DUPDB/archivelog/2013_10_01/o1_mf_1_503_94ogf2sd_.arc RECID=1 STAMP=827672498 media recovery complete, elapsed time: 00:00:01 Finished recover at 01-OCT-13 Oracle instance started Total System Global Area 3758010368 bytes Fixed Size 2233960 bytes Variable Size 738199960 bytes Database Buffers 2986344448 bytes Redo Buffers 31232000 bytes contents of Memory Script: { sql clone "alter system set db_name = ''DUPDB'' comment= ''Reset to original value by RMAN'' scope=spfile"; sql clone "alter system reset db_unique_name scope=spfile"; shutdown clone immediate; startup clone nomount; } executing Memory Script sql statement: alter system set db_name = ''DUPDB'' comment= ''Reset to original value by RMAN'' scope=spfile sql statement: alter system reset db_unique_name scope=spfile Oracle instance shut down connected to auxiliary database (not started) Oracle instance started Total System Global Area 3758010368 bytes Fixed Size 2233960 bytes Variable Size 738199960 bytes Database Buffers 2986344448 bytes Redo Buffers 31232000 bytes sql statement: CREATE CONTROLFILE REUSE SET DATABASE "DUPDB" RESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 584 LOGFILE GROUP 1 SIZE 50 M , GROUP 2 SIZE 50 M , GROUP 3 SIZE 50 M DATAFILE '/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_system_94og8tfx_.dbf' CHARACTER SET AL32UTF8 contents of Memory Script: { set newname for clone tempfile 1 to new; set newname for clone tempfile 2 to new; set newname for clone tempfile 3 to new; switch clone tempfile all; catalog clone datafilecopy "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_sysaux_94og8tf6_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_undotbs1_94og8tdb_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_users_94og8tgf_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_example_94og8tgo_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_velbo_94og8tfg_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_datatbs_94og939j_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_index_94og8tfp_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobs_94og8wxx_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_test_94og91sh_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_test_94og93d0_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobtbs_94og8yhj_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobtbs11_94og8zw0_.dbf", "/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_2ktbs_94og8tg5_.dbf"; switch clone datafile all; } executing Memory Script executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME renamed tempfile 1 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_temp_%u_.tmp in control file renamed tempfile 2 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_txtemp_%u_.tmp in control file renamed tempfile 3 to /opt/app/oracle/oradata/DUPDB/datafile/o1_mf_temp5m_%u_.tmp in control file cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_sysaux_94og8tf6_.dbf RECID=1 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_undotbs1_94og8tdb_.dbf RECID=2 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_users_94og8tgf_.dbf RECID=3 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_example_94og8tgo_.dbf RECID=4 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_velbo_94og8tfg_.dbf RECID=5 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_datatbs_94og939j_.dbf RECID=6 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_index_94og8tfp_.dbf RECID=7 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobs_94og8wxx_.dbf RECID=8 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_test_94og91sh_.dbf RECID=9 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_test_94og93d0_.dbf RECID=10 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobtbs_94og8yhj_.dbf RECID=11 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobtbs11_94og8zw0_.dbf RECID=12 STAMP=827672513 cataloged datafile copy datafile copy file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_2ktbs_94og8tg5_.dbf RECID=13 STAMP=827672513 datafile 2 switched to datafile copy input datafile copy RECID=1 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_sysaux_94og8tf6_.dbf datafile 3 switched to datafile copy input datafile copy RECID=2 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_undotbs1_94og8tdb_.dbf datafile 4 switched to datafile copy input datafile copy RECID=3 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_users_94og8tgf_.dbf datafile 5 switched to datafile copy input datafile copy RECID=4 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_example_94og8tgo_.dbf datafile 6 switched to datafile copy input datafile copy RECID=5 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_velbo_94og8tfg_.dbf datafile 7 switched to datafile copy input datafile copy RECID=6 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_datatbs_94og939j_.dbf datafile 8 switched to datafile copy input datafile copy RECID=7 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_index_94og8tfp_.dbf datafile 9 switched to datafile copy input datafile copy RECID=8 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobs_94og8wxx_.dbf datafile 10 switched to datafile copy input datafile copy RECID=9 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_test_94og91sh_.dbf datafile 11 switched to datafile copy input datafile copy RECID=10 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_test_94og93d0_.dbf datafile 12 switched to datafile copy input datafile copy RECID=11 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobtbs_94og8yhj_.dbf datafile 13 switched to datafile copy input datafile copy RECID=12 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_lobtbs11_94og8zw0_.dbf datafile 14 switched to datafile copy input datafile copy RECID=13 STAMP=827672513 file name=/opt/app/oracle/oradata/DUPDB/datafile/o1_mf_2ktbs_94og8tg5_.dbf contents of Memory Script: { Alter clone database open resetlogs; } executing Memory Script database opened Finished Duplicate Db at 01-OCT-137. Verify the database open mode and role
SQL> select name,created,open_mode,database_role from v$database; NAME CREATED OPEN_MODE DATABASE_ROLE --------- --------- -------------------- ---------------- DUPDB 01-OCT-13 READ WRITE PRIMARYThis conclude the database duplication without target or catalog connections.
Related Post
RAC to Single Instance Active Database Duplication
Useful Metalink Notes
Oracle10G RMAN Database Duplication [ID 259694.1]
Creating a Duplicate Database on a New Host. [ID 388431.1]
RMAN 'Duplicate Database' Feature in Oracle9i / 10G and 11.1 [ID 228257.1]
Performing duplicate database with ASM/OMF/RMAN [ID 340848.1]
RMAN 11GR2 : DUPLICATE WITHOUT CONNECTING TO TARGET DATABASE [ID 874352.1]
RMAN Duplicate Database From RAC ASM To RAC ASM [ID 461479.1]
Update 17 August 2015
Duplicating a database from ASM to FS with OMF. The db_name is asangapu and the db_unique_name is asangauat. db_name could only be 8 characters long and duplication fails if db_name is set longer than that. Set ORACLE_SID to db_unique_name value and also the directories will contain the db_unique_name.
cat initasangauat.ora db_name='asangapu' export ORACLE_SID=asangauat mkdir -p /opt/app/oracle/admin/asangauat/adumpCreation of control files fails if the directory path doesn't exists.
RMAN-03015: error occurred in stored script Memory Script ORA-19870: error while restoring backup piece /opt/app/backup/full_c-4271488948-20150817-17.ctl ORA-19504: failed to create file "/opt/app/oracle/oradata/ASANGAUAT/controlfile/current.256.867683577" ORA-27040: file create error, unable to create fileOnce the directory paths are created no issue
mkdir -p /opt/app/oracle/oradata/ASANGAUAT/controlfile mkdir -p /opt/app/oracle/fast_recovery_area/ASANGAUAT/controlfile channel ORA_AUX_DISK_1: restoring control file channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 output file name=/opt/app/oracle/oradata/ASANGAUAT/controlfile/current.256.867683577 output file name=/opt/app/oracle/fast_recovery_area/ASANGAUAT/controlfile/current.256.867683577 Finished restore at 17-AUG-15However no such problems for datafile restore.
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00001 to /opt/app/oracle/oradata/ASANGAUAT/datafile/o1_mf_system_%u_.dbf channel ORA_AUX_DISK_1: restoring datafile 00002 to /opt/app/oracle/oradata/ASANGAUAT/datafile/o1_mf_sysaux_%u_.dbfThe full duplication command is given below where source database is travelu.
DUPLICATE TARGET DATABASE TO asangapu SPFILE PARAMETER_VALUE_CONVERT 'travelu', 'ASANGAUAT', '+DATA', '/opt/app/oracle/oradata', '+FLASH','/opt/app/oracle/fast_recovery_area','TRAVELU','ASANGAUAT' set db_create_file_dest='/opt/app/oracle/oradata' set db_recovery_file_dest='/opt/app/oracle/fast_recovery_area' set diagnostic_dest='/opt/app/oracle' set db_unique_name='asangauat' set audit_file_dest='/opt/app/oracle/admin/asangapuat/adump' BACKUP LOCATION '/opt/app/backup';