Database 12.1.0.2.0 is created using OMF.
At SOURCE:
db_create_file_dest=/u01/app/oracle/oradata
db_recovery_file_dest=/u01/app/oracle/fast_recovery_area
At DESTINATION:
db_create_file_dest=/u01/oradata
db_recovery_file_dest=/u01/fast_recovery_area
BACKUP LOCATION on shared storage:
/media/shared_storage/rman_backup/EMU
I has to explicitly set control_files since I was not able to determine how it can be done automatically.
set control_files='/u01/oradata/EMU/controlfile/o1_mf_gqsq2mlg_.ctl','/u01/fast_recovery_area/EMU/controlfile/o1_mf_gqsq2mpz_.ctl'
If don’t set_controlfiles then duplicate will restore to original locations.
channel ORA_AUX_DISK_1: restoring control file channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 output file name=/u01/app/oracle/oradata/EMU/controlfile/o1_mf_gqsq2mlg_.ctl output file name=/u01/app/oracle/fast_recovery_area/EMU/controlfile/o1_mf_gqsq2mpz_.ctl
STEPS:
================================================================================ ### SOURCE: Backup Database ================================================================================ -------------------------------------------------- ### Retrieve controlfile locations. -------------------------------------------------- SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/EMU/controlfile/o1_mf_gqsq2mlg_.ctl /u01/app/oracle/fast_recovery_area/EMU/controlfile/o1_mf_gqsq2mpz_.ctl SQL> -------------------------------------------------- ### Retrieve redo logs locations. -------------------------------------------------- SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- /u01/app/oracle/oradata/EMU/onlinelog/o1_mf_1_gqsq2mvy_.log /u01/app/oracle/fast_recovery_area/EMU/onlinelog/o1_mf_1_gqsq2myy_.log /u01/app/oracle/oradata/EMU/onlinelog/o1_mf_2_gqsq2n1o_.log /u01/app/oracle/fast_recovery_area/EMU/onlinelog/o1_mf_2_gqsq2n3g_.log /u01/app/oracle/oradata/EMU/onlinelog/o1_mf_3_gqsq2n50_.log /u01/app/oracle/fast_recovery_area/EMU/onlinelog/o1_mf_3_gqsq2nql_.log 6 rows selected. SQL> -------------------------------------------------- ### Backup database. -------------------------------------------------- [oracle@ol741 EMU]$ export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS" [oracle@ol741 EMU]$ rman @ backup.rman Recovery Manager: Release 12.1.0.2.0 - Production on Sat Sep 14 16:09:06 2019 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. RMAN> spool log to /media/shared_storage/rman_backup/EMU/rman_EMU_level0.log 2> set echo on 3> connect target; 4> show all; 5> set command id to "BACKUP_EMU"; 6> run { 7> allocate channel d1 device type disk format '/media/shared_storage/rman_backup/EMU/%d_%I_%T_%U.bks' maxopenfiles 1; 8> allocate channel d2 device type disk format '/media/shared_storage/rman_backup/EMU/%d_%I_%T_%U.bks' maxopenfiles 1; 9> allocate channel d3 device type disk format '/media/shared_storage/rman_backup/EMU/%d_%I_%T_%U.bks' maxopenfiles 1; 10> allocate channel d4 device type disk format '/media/shared_storage/rman_backup/EMU/%d_%I_%T_%U.bks' maxopenfiles 1; 11> allocate channel d5 device type disk format '/media/shared_storage/rman_backup/EMU/%d_%I_%T_%U.bks' maxopenfiles 1; 12> backup as compressed backupset incremental level 0 check logical database filesperset 1 tag="EMU" 13> plus archivelog filesperset 8 tag="EMU" 14> ; 15> } 16> alter database backup controlfile to trace as '/media/shared_storage/rman_backup/EMU/cf_@.sql' REUSE RESETLOGS; 17> create pfile='/media/shared_storage/rman_backup/EMU/init@.ora' from spfile; 18> list backup summary tag="EMU"; 19> list backup of spfile tag="EMU"; 20> list backup of controlfile tag="EMU"; 21> report schema; 22> exit -------------------------------------------------- ### Retrive datafiles and tempfiles locations. -------------------------------------------------- [oracle@ol741 EMU]$ rman target / Recovery Manager: Release 12.1.0.2.0 - Production on Sat Sep 14 16:09:44 2019 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. connected to target database: EMU (DBID=3838062773) RMAN> report schema; using target database control file instead of recovery catalog Report of database schema for database with db_unique_name EMU List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 700 SYSTEM YES /u01/app/oracle/oradata/EMU/datafile/o1_mf_system_gqsq2qw4_.dbf 2 550 SYSAUX NO /u01/app/oracle/oradata/EMU/datafile/o1_mf_sysaux_gqsq30xo_.dbf 3 265 UNDOTBS1 YES /u01/app/oracle/oradata/EMU/datafile/o1_mf_undotbs1_gqsq3875_.dbf 4 5 USERS NO /u01/app/oracle/oradata/EMU/datafile/o1_mf_users_gqsq405f_.dbf List of Temporary Files ======================= File Size(MB) Tablespace Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1 20 TEMP 32767 /u01/app/oracle/oradata/EMU/datafile/o1_mf_temp_gqsq3c3d_.tmp RMAN> exit Recovery Manager complete. [oracle@ol741 EMU]$ ================================================================================ ### TARGET: Restore Database ================================================================================ -------------------------------------------------- ### Create pfile. -------------------------------------------------- [oracle@ol742 dbs]$ pwd /u01/app/oracle/product/12.1.0.2/db_1/dbs [oracle@ol742 dbs]$ cat initemu.ora *.db_name='emu' [oracle@ol742 dbs]$ -------------------------------------------------- ### Startup nomount. -------------------------------------------------- [oracle@ol742 EMU]$ . oraenv << startup nomount; ORACLE instance started. Total System Global Area 234881024 bytes Fixed Size 2922904 bytes Variable Size 176162408 bytes Database Buffers 50331648 bytes Redo Buffers 5464064 bytes SQL> -------------------------------------------------- ### Create new directories. -------------------------------------------------- [oracle@ol742 EMU]$ mkdir -p /u01/oradata/EMU/controlfile/ [oracle@ol742 EMU]$ mkdir -p /u01/fast_recovery_area/EMU/controlfile -------------------------------------------------- ### Duplicate database. -------------------------------------------------- [oracle@ol742 EMU]$ export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS" [oracle@ol742 EMU]$ rman @ dup_omf_bks.rman Recovery Manager: Release 12.1.0.2.0 - Production on Sat Sep 14 16:37:51 2019 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. RMAN> spool log to /media/shared_storage/rman_backup/EMU/rman_duplicate_database.log 2> set echo on 3> connect auxiliary * 4> show all; 5> set command id to "DUPLICATE_EMU"; 6> DUPLICATE DATABASE TO emu 7> SPFILE 8> set db_file_name_convert='/u01/app/oracle/oradata','/u01/oradata' 9> set log_file_name_convert='/u01/app/oracle/oradata','/u01/oradata' 10> set db_create_file_dest='/u01/oradata' 11> set db_recovery_file_dest='/u01/fast_recovery_area' 12> set control_files='/u01/oradata/EMU/controlfile/o1_mf_gqsq2mlg_.ctl','/u01/fast_recovery_area/EMU/controlfile/o1_mf_gqsq2mpz_.ctl' 13> BACKUP LOCATION '/media/shared_storage/rman_backup/EMU' 14> NOFILENAMECHECK 15> ; 16> exit -------------------------------------------------- ### Retrive datafiles and tempfiles locations. -------------------------------------------------- [oracle@ol742 EMU]$ rman target / Recovery Manager: Release 12.1.0.2.0 - Production on Sat Sep 14 16:40:33 2019 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. connected to target database: EMU (DBID=3838070815) RMAN> report schema; using target database control file instead of recovery catalog Report of database schema for database with db_unique_name EMU List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 700 SYSTEM YES /u01/oradata/EMU/datafile/o1_mf_system_gqsyvo1y_.dbf 2 550 SYSAUX NO /u01/oradata/EMU/datafile/o1_mf_sysaux_gqsywg40_.dbf 3 265 UNDOTBS1 YES /u01/oradata/EMU/datafile/o1_mf_undotbs1_gqsywx7n_.dbf 4 5 USERS NO /u01/oradata/EMU/datafile/o1_mf_users_gqsyxd90_.dbf List of Temporary Files ======================= File Size(MB) Tablespace Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1 20 TEMP 32767 /u01/oradata/EMU/datafile/o1_mf_temp_gqsyy469_.tmp RMAN> exit Recovery Manager complete. [oracle@ol742 EMU]$ -------------------------------------------------- ### Retrieve controlfile locations. -------------------------------------------------- SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- /u01/oradata/EMU/controlfile/o1_mf_gqsq2mlg_.ctl /u01/fast_recovery_area/EMU/controlfile/o1_mf_gqsq2mpz_.ctl SQL> -------------------------------------------------- ### Retrieve redo logs locations. -------------------------------------------------- SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- /u01/oradata/EMU/onlinelog/o1_mf_3_gqsyy2kh_.log /u01/fast_recovery_area/EMU/onlinelog/o1_mf_3_gqsyy2lx_.log /u01/oradata/EMU/onlinelog/o1_mf_2_gqsyy165_.log /u01/fast_recovery_area/EMU/onlinelog/o1_mf_2_gqsyy17p_.log /u01/oradata/EMU/onlinelog/o1_mf_1_gqsyxztc_.log /u01/fast_recovery_area/EMU/onlinelog/o1_mf_1_gqsyxzw3_.log 6 rows selected. SQL>
Logs: