What Happens When Active DB Duplication Goes Wrong?
There are many blog posts out there about active database duplication. However, they were all tested in an ideal environment or condition. What happens when a tablespace is created during the middle of active duplication and how to resolve the error? Read on if you would like to know.
For my test case, I created database db01 using OMF and will perform active duplication to db02 using OMF as well on the same host. While duplication was running, I created a new tablespace. Here are the details of the steps performed:
Review files and pfile for TARGET database:
[oracle@arrow:db02]/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs $ ll total 7692 -rw-rw----. 1 oracle oinstall 1544 Feb 14 13:06 hc_db01.dat -rwxr-x---. 1 oracle oinstall 590 Feb 13 08:14 initdb01.ora -rwxr-x---. 1 oracle oinstall 590 Feb 13 08:14 initdb02.ora -rw-r-----. 1 oracle oinstall 24 Feb 13 08:18 lkDB01 -rw-r-----. 1 oracle oinstall 0 Feb 14 13:06 lkinstdb01 -rw-r-----. 1 oracle oinstall 2048 Feb 11 14:00 orapwdb01 -rw-r-----. 1 oracle oinstall 2048 Feb 11 15:48 orapwdb02 -rw-r-----. 1 oracle oinstall 7847936 Feb 11 18:06 snapcf_db01.f -rw-r-----. 1 oracle oinstall 3584 Feb 14 13:05 spfiledb01.ora [oracle@arrow:db02]/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs $ cat initdb02.ora *.audit_file_dest='/u01/app/oracle/admin/adump' *.audit_trail='none' *.compatible='11.2.0.4.0' *.db_block_size=8192 *.db_create_file_dest='/oradata' *.db_domain='' *.db_name='db02' *.db_recovery_file_dest='/oradata/fra' *.db_recovery_file_dest_size=4g *.diagnostic_dest='/u01/app/oracle' *.event='10795 trace name context forever, level 2' *.fast_start_mttr_target=300 *.java_pool_size=0 *.local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1531))' *.pga_aggregate_target=268435456 *.processes=100 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=805306368 *.undo_tablespace='UNDOTBS' [oracle@arrow:db02]/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs $ diff ./initdb01.ora ./initdb02.ora 7c7 < *.db_name='db01' --- > *.db_name='db02' [oracle@arrow:db02]/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs $
Notice there is only one difference between in the pfile for db01 and db02
Create same directory structures for TARGET database:
[oracle@arrow:]/oradata $ ls DB* DB01: controlfile datafile onlinelog DB02: controlfile datafile onlinelog [oracle@arrow:]/oradata $
Startup NOMOUNT TARGET database:
[oracle@arrow:db02]/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs $ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Fri Feb 14 13:11:13 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SYS@db02> startup nomount; ORACLE instance started. Total System Global Area 801701888 bytes Fixed Size 2257520 bytes Variable Size 222301584 bytes Database Buffers 570425344 bytes Redo Buffers 6717440 bytes SYS@db02>
Start active database duplication:
[oracle@arrow:db01]/media/sf_linux_x64/rman
$ rman @dupdbomf.rman
Recovery Manager: Release 11.2.0.4.0 - Production on Fri Feb 14 13:12:04 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
RMAN> connect target *
2> connect auxiliary *
3> run {
4> allocate channel c1 type disk maxopenfiles 1;
5> allocate auxiliary channel a1 type disk;
6> duplicate target database to db02
7> from active database nofilenamecheck
8> spfile
9> PARAMETER_VALUE_CONVERT ('DB01','DB02')
10> ;
11> }
12> exit;
connected to target database: DB01 (DBID=1470673955)
connected to auxiliary database: DB02 (not mounted)
using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=14 device type=DISK
allocated channel: a1
channel a1: SID=96 device type=DISK
Starting Duplicate Db at 14-FEB-2014 13:12:07
contents of Memory Script:
{
backup as copy reuse
targetfile '/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiledb01.ora' auxiliary format
'/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiledb02.ora' ;
sql clone "alter system set spfile= ''/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiledb02.ora''";
}
executing Memory Script
Starting backup at 14-FEB-2014 13:12:08
Finished backup at 14-FEB-2014 13:12:09
sql statement: alter system set spfile= ''/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiledb02.ora''
contents of Memory Script:
{
sql clone "alter system set db_name =
''DB02'' comment=
''duplicate'' scope=spfile";
sql clone "alter system set control_files =
''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment=
'''' scope=spfile";
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script
sql statement: alter system set db_name = ''DB02'' comment= ''duplicate'' scope=spfile
sql statement: alter system set control_files = ''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.c tl'' comment= '''' scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 801701888 bytes
Fixed Size 2257520 bytes
Variable Size 222301584 bytes
Database Buffers 570425344 bytes
Redo Buffers 6717440 bytes
allocated channel: a1
channel a1: SID=95 device type=DISK
contents of Memory Script:
{
sql clone "alter system set control_files =
''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment=
''Set by RMAN'' scope=spfile";
sql clone "alter system set db_name =
''DB01'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''DB02'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
backup as copy current controlfile auxiliary format '/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl';
restore clone controlfile to '/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl' from
'/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl';
sql clone "alter system set control_files =
''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment=
''Set by RMAN'' scope=spfile";
shutdown clone immediate;
startup clone nomount;
alter clone database mount;
}
executing Memory Script
sql statement: alter system set control_files = ''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment= ''Set by RMAN'' scope=spfile
sql statement: alter system set db_name = ''DB01'' comment= ''Modified by RMAN duplicate'' scope=spfile
sql statement: alter system set db_unique_name = ''DB02'' comment= ''Modified by RMAN duplicate'' scope=spfile
Oracle instance shut down
Oracle instance started
Total System Global Area 801701888 bytes
Fixed Size 2257520 bytes
Variable Size 222301584 bytes
Database Buffers 570425344 bytes
Redo Buffers 6717440 bytes
allocated channel: a1
channel a1: SID=95 device type=DISK
Starting backup at 14-FEB-2014 13:12:55
channel c1: starting datafile copy
copying current control file
output file name=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/snapcf_db01.f tag=TAG20140214T131255 RECID=1 STAMP=839509978
channel c1: datafile copy complete, elapsed time: 00:00:07
Finished backup at 14-FEB-2014 13:13:03
Starting restore at 14-FEB-2014 13:13:03
channel a1: copied control file copy
Finished restore at 14-FEB-2014 13:13:04
sql statement: alter system set control_files = ''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment= ''Set by RMAN'' scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 801701888 bytes
Fixed Size 2257520 bytes
Variable Size 222301584 bytes
Database Buffers 570425344 bytes
Redo Buffers 6717440 bytes
allocated channel: a1
channel a1: SID=95 device type=DISK
database mounted
contents of Memory Script:
{
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;
backup as copy reuse
datafile 1 auxiliary format new
datafile 2 auxiliary format new
datafile 3 auxiliary format new
datafile 4 auxiliary format new
;
sql 'alter system archive log current';
}
executing Memory Script
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting backup at 14-FEB-2014 13:13:21
----------------------------------------------------------------------
-- While duplication was running, create new tablespace at source
--
[oracle@arrow:db01]/home/oracle
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Fri Feb 14 13:13:22 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ARROW:(SYS@db01):PRIMARY> create tablespace mdinh;
Tablespace created.
ARROW:(SYS@db01):PRIMARY>
----------------------------------------------------------------------
channel c1: starting datafile copy
input datafile file number=00001 name=/oradata/DB01/datafile/o1_mf_system_9hsw4shz_.dbf
output file name=/oradata/DB02/datafile/o1_mf_system_02p0jpvh_.dbf tag=TAG20140214T131321
channel c1: datafile copy complete, elapsed time: 00:01:26
channel c1: starting datafile copy
input datafile file number=00002 name=/oradata/DB01/datafile/o1_mf_sysaux_9hsw63d2_.dbf
output file name=/oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf tag=TAG20140214T131321
channel c1: datafile copy complete, elapsed time: 00:00:35
channel c1: starting datafile copy
input datafile file number=00003 name=/oradata/DB01/datafile/o1_mf_undotbs_9hsw75h4_.dbf
output file name=/oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf tag=TAG20140214T131321
channel c1: datafile copy complete, elapsed time: 00:00:35
channel c1: starting datafile copy
input datafile file number=00004 name=/oradata/DB01/datafile/o1_mf_users_9hsw880k_.dbf
output file name=/oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf tag=TAG20140214T131321
channel c1: datafile copy complete, elapsed time: 00:00:35
Finished backup at 14-FEB-2014 13:16:32
sql statement: alter system archive log current
contents of Memory Script:
{
backup as copy reuse
archivelog like "/oradata/fra/DB01/archivelog/2014_02_14/o1_mf_1_10_9hx1xkn1_.arc" auxiliary format
"/oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_%u_.arc" ;
catalog clone recovery area;
switch clone datafile all;
}
executing Memory Script
Starting backup at 14-FEB-2014 13:16:34
channel c1: starting archived log copy
input archived log thread=1 sequence=10 RECID=2 STAMP=839510193
output file name=/oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_06p0jq5i_.arc RECID=0 STAMP=0
channel c1: archived log copy complete, elapsed time: 00:00:01
Finished backup at 14-FEB-2014 13:16:35
searching for all files in the recovery area
List of Files Unknown to the Database
=====================================
File Name: /oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_06p0jq5i_.arc
File Name: /oradata/fra/DB02/archivelog/2014_02_12/o1_mf_1_10_0cp0ekfe_.arc
File Name: /oradata/fra/DB02/controlfile/o1_mf_9hoq0kmv_.ctl
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_06p0jq5i_.arc
File Name: /oradata/fra/DB02/archivelog/2014_02_12/o1_mf_1_10_0cp0ekfe_.arc
List of Files Which Where Not Cataloged
=======================================
File Name: /oradata/fra/DB02/controlfile/o1_mf_9hoq0kmv_.ctl
RMAN-07518: Reason: Foreign database file DBID: 1470537681 Database Name: DB01
datafile 1 switched to datafile copy
input datafile copy RECID=1 STAMP=839510196 file name=/oradata/DB02/datafile/o1_mf_system_02p0jpvh_.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=2 STAMP=839510196 file name=/oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=3 STAMP=839510197 file name=/oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=4 STAMP=839510197 file name=/oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf
contents of Memory Script:
{
set until scn 227291;
recover
clone database
delete archivelog
;
}
executing Memory Script
executing command: SET until clause
Starting recover at 14-FEB-2014 13:16:39
Oracle instance started
Total System Global Area 801701888 bytes
Fixed Size 2257520 bytes
Variable Size 222301584 bytes
Database Buffers 570425344 bytes
Redo Buffers 6717440 bytes
contents of Memory Script:
{
sql clone "alter system set db_name =
''DB02'' 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 = ''DB02'' comment= ''Reset to original value by RMAN'' scope=spfile
sql statement: alter system reset db_unique_name scope=spfile
Oracle instance shut down
released channel: c1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 02/14/2014 13:17:01
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-06094: datafile 5 must be restored
Recovery Manager complete.
[oracle@arrow:db01]/media/sf_linux_x64/rman
$
Remove spfile and misc files for TARGET database:
Startup NOMOUNT TARGET database:
[oracle@arrow:db02]/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs $ rm spfiledb02.ora lkDB02 hc_db02.dat [oracle@arrow:db02]/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs $ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Fri Feb 14 13:18:43 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SYS@db02> startup nomount; ORACLE instance started. Total System Global Area 801701888 bytes Fixed Size 2257520 bytes Variable Size 222301584 bytes Database Buffers 570425344 bytes Redo Buffers 6717440 bytes SYS@db02> exit
RESTART active database duplication:
[oracle@arrow:db01]/media/sf_linux_x64/rman
$ rman @dupdbomf.rman
Recovery Manager: Release 11.2.0.4.0 - Production on Fri Feb 14 13:18:52 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
RMAN> connect target *
2> connect auxiliary *
3> run {
4> allocate channel c1 type disk maxopenfiles 1;
5> allocate auxiliary channel a1 type disk;
6> duplicate target database to db02
7> from active database nofilenamecheck
8> spfile
9> PARAMETER_VALUE_CONVERT ('DB01','DB02')
10> ;
11> }
12> exit;
connected to target database: DB01 (DBID=1470673955)
connected to auxiliary database: DB02 (not mounted)
using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=14 device type=DISK
allocated channel: a1
channel a1: SID=10 device type=DISK
Starting Duplicate Db at 14-FEB-2014 13:18:54
contents of Memory Script:
{
backup as copy reuse
targetfile '/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiledb01.ora' auxiliary format
'/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiledb02.ora' ;
sql clone "alter system set spfile= ''/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiledb02.ora''";
}
executing Memory Script
Starting backup at 14-FEB-2014 13:18:54
Finished backup at 14-FEB-2014 13:18:55
sql statement: alter system set spfile= ''/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiledb02.ora''
contents of Memory Script:
{
sql clone "alter system set db_name =
''DB02'' comment=
''duplicate'' scope=spfile";
sql clone "alter system set control_files =
''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment=
'''' scope=spfile";
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script
sql statement: alter system set db_name = ''DB02'' comment= ''duplicate'' scope=spfile
sql statement: alter system set control_files = ''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment= '''' scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 801701888 bytes
Fixed Size 2257520 bytes
Variable Size 222301584 bytes
Database Buffers 570425344 bytes
Redo Buffers 6717440 bytes
allocated channel: a1
channel a1: SID=95 device type=DISK
contents of Memory Script:
{
sql clone "alter system set control_files =
''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment=
''Set by RMAN'' scope=spfile";
sql clone "alter system set db_name =
''DB01'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''DB02'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
backup as copy current controlfile auxiliary format '/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl';
restore clone controlfile to '/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl' from
'/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl';
sql clone "alter system set control_files =
''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment=
''Set by RMAN'' scope=spfile";
shutdown clone immediate;
startup clone nomount;
alter clone database mount;
}
executing Memory Script
sql statement: alter system set control_files = ''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment= ''Set by RMAN'' scope=spfile
sql statement: alter system set db_name = ''DB01'' comment= ''Modified by RMAN duplicate'' scope=spfile
sql statement: alter system set db_unique_name = ''DB02'' comment= ''Modified by RMAN duplicate'' scope=spfile
Oracle instance shut down
Oracle instance started
Total System Global Area 801701888 bytes
Fixed Size 2257520 bytes
Variable Size 222301584 bytes
Database Buffers 570425344 bytes
Redo Buffers 6717440 bytes
allocated channel: a1
channel a1: SID=95 device type=DISK
Starting backup at 14-FEB-2014 13:19:11
channel c1: starting datafile copy
copying current control file
output file name=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/snapcf_db01.f tag=TAG20140214T131912 RECID=2 STAMP=839510353
channel c1: datafile copy complete, elapsed time: 00:00:03
Finished backup at 14-FEB-2014 13:19:15
Starting restore at 14-FEB-2014 13:19:15
channel a1: copied control file copy
Finished restore at 14-FEB-2014 13:19:16
sql statement: alter system set control_files = ''/oradata/DB02/controlfile/o1_mf_9hsw332r_.ctl'', ''/oradata/fra/DB02/controlfile/o1_mf_9hsw33dm_.ctl'' comment= ''Set by RMAN'' scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 801701888 bytes
Fixed Size 2257520 bytes
Variable Size 222301584 bytes
Database Buffers 570425344 bytes
Redo Buffers 6717440 bytes
allocated channel: a1
channel a1: SID=95 device type=DISK
database mounted
Using previous duplicated file /oradata/DB02/datafile/o1_mf_system_02p0jpvh_.dbf for datafile 1 with checkpoint SCN of 226956
Using previous duplicated file /oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf for datafile 2 with checkpoint SCN of 227250
Using previous duplicated file /oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf for datafile 3 with checkpoint SCN of 227262
Using previous duplicated file /oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf for datafile 4 with checkpoint SCN of 227275
contents of Memory Script:
{
set newname for datafile 1 to
"/oradata/DB02/datafile/o1_mf_system_02p0jpvh_.dbf";
set newname for datafile 2 to
"/oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf";
set newname for datafile 3 to
"/oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf";
set newname for datafile 4 to
"/oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf";
set newname for clone datafile 5 to new;
backup as copy reuse
datafile 5 auxiliary format new
;
sql 'alter system archive log current';
}
executing Memory Script
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting backup at 14-FEB-2014 13:19:31
channel c1: starting datafile copy
input datafile file number=00005 name=/oradata/DB01/datafile/o1_mf_mdinh_9hx1qqko_.dbf
output file name=/oradata/DB02/datafile/o1_mf_mdinh_08p0jqb4_.dbf tag=TAG20140214T131931
channel c1: datafile copy complete, elapsed time: 00:00:15
Finished backup at 14-FEB-2014 13:19:47
sql statement: alter system archive log current
contents of Memory Script:
{
backup as copy reuse
archivelog like "/oradata/fra/DB01/archivelog/2014_02_14/o1_mf_1_10_9hx1xkn1_.arc" auxiliary format
"/oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_%u_.arc" archivelog like
"/oradata/fra/DB01/archivelog/2014_02_14/o1_mf_1_11_9hx23s3n_.arc" auxiliary format
"/oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_11_%u_.arc" ;
catalog clone recovery area;
catalog clone datafilecopy "/oradata/DB02/datafile/o1_mf_system_02p0jpvh_.dbf",
"/oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf",
"/oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf",
"/oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf";
switch clone datafile 1 to datafilecopy
"/oradata/DB02/datafile/o1_mf_system_02p0jpvh_.dbf";
switch clone datafile 2 to datafilecopy
"/oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf";
switch clone datafile 3 to datafilecopy
"/oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf";
switch clone datafile 4 to datafilecopy
"/oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf";
switch clone datafile all;
}
executing Memory Script
Starting backup at 14-FEB-2014 13:19:53
channel c1: starting archived log copy
input archived log thread=1 sequence=10 RECID=2 STAMP=839510193
output file name=/oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_09p0jqbq_.arc RECID=0 STAMP=0
channel c1: archived log copy complete, elapsed time: 00:00:01
channel c1: starting archived log copy
input archived log thread=1 sequence=11 RECID=3 STAMP=839510393
output file name=/oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_11_0ap0jqbr_.arc RECID=0 STAMP=0
channel c1: archived log copy complete, elapsed time: 00:00:01
Finished backup at 14-FEB-2014 13:19:56
searching for all files in the recovery area
List of Files Unknown to the Database
=====================================
File Name: /oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_11_0ap0jqbr_.arc
File Name: /oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_06p0jq5i_.arc
File Name: /oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_09p0jqbq_.arc
File Name: /oradata/fra/DB02/archivelog/2014_02_12/o1_mf_1_10_0cp0ekfe_.arc
File Name: /oradata/fra/DB02/controlfile/o1_mf_9hoq0kmv_.ctl
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_11_0ap0jqbr_.arc
File Name: /oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_06p0jq5i_.arc
File Name: /oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_09p0jqbq_.arc
File Name: /oradata/fra/DB02/archivelog/2014_02_12/o1_mf_1_10_0cp0ekfe_.arc
List of Files Which Where Not Cataloged
=======================================
File Name: /oradata/fra/DB02/controlfile/o1_mf_9hoq0kmv_.ctl
RMAN-07518: Reason: Foreign database file DBID: 1470537681 Database Name: DB01
cataloged datafile copy
datafile copy file name=/oradata/DB02/datafile/o1_mf_system_02p0jpvh_.dbf RECID=2 STAMP=839510398
cataloged datafile copy
datafile copy file name=/oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf RECID=3 STAMP=839510398
cataloged datafile copy
datafile copy file name=/oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf RECID=4 STAMP=839510399
cataloged datafile copy
datafile copy file name=/oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf RECID=5 STAMP=839510399
datafile 1 switched to datafile copy
input datafile copy RECID=2 STAMP=839510398 file name=/oradata/DB02/datafile/o1_mf_system_02p0jpvh_.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=3 STAMP=839510398 file name=/oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=4 STAMP=839510399 file name=/oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=5 STAMP=839510399 file name=/oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=6 STAMP=839510401 file name=/oradata/DB02/datafile/o1_mf_mdinh_08p0jqb4_.dbf
contents of Memory Script:
{
set until scn 227620;
recover
clone database
delete archivelog
;
}
executing Memory Script
executing command: SET until clause
Starting recover at 14-FEB-2014 13:20:02
starting media recovery
archived log for thread 1 with sequence 10 is already on disk as file /oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_06p0jq5i_.arc
archived log for thread 1 with sequence 11 is already on disk as file /oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_11_0ap0jqbr_.arc
archived log file name=/oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_10_06p0jq5i_.arc thread=1 sequence=10
archived log file name=/oradata/fra/DB02/archivelog/2014_02_14/o1_mf_1_11_0ap0jqbr_.arc thread=1 sequence=11
media recovery complete, elapsed time: 00:00:09
Finished recover at 14-FEB-2014 13:20:14
Oracle instance started
Total System Global Area 801701888 bytes
Fixed Size 2257520 bytes
Variable Size 222301584 bytes
Database Buffers 570425344 bytes
Redo Buffers 6717440 bytes
contents of Memory Script:
{
sql clone "alter system set db_name =
''DB02'' 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 = ''DB02'' 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 801701888 bytes
Fixed Size 2257520 bytes
Variable Size 222301584 bytes
Database Buffers 570425344 bytes
Redo Buffers 6717440 bytes
allocated channel: a1
channel a1: SID=95 device type=DISK
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "DB02" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 2
MAXDATAFILES 30
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 SIZE 100 M ,
GROUP 2 SIZE 100 M ,
GROUP 3 SIZE 100 M
DATAFILE
'/oradata/DB02/datafile/o1_mf_system_02p0jpvh_.dbf'
CHARACTER SET AL32UTF8
contents of Memory Script:
{
set newname for clone tempfile 1 to new;
switch clone tempfile all;
catalog clone datafilecopy "/oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf",
"/oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf",
"/oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf",
"/oradata/DB02/datafile/o1_mf_mdinh_08p0jqb4_.dbf";
switch clone datafile all;
}
executing Memory Script
executing command: SET NEWNAME
renamed tempfile 1 to /oradata/DB02/datafile/o1_mf_temp_%u_.tmp in control file
cataloged datafile copy
datafile copy file name=/oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf RECID=1 STAMP=839510428
cataloged datafile copy
datafile copy file name=/oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf RECID=2 STAMP=839510428
cataloged datafile copy
datafile copy file name=/oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf RECID=3 STAMP=839510428
cataloged datafile copy
datafile copy file name=/oradata/DB02/datafile/o1_mf_mdinh_08p0jqb4_.dbf RECID=4 STAMP=839510429
datafile 5 switched to datafile copy
input datafile copy RECID=4 STAMP=839510429 file name=/oradata/DB02/datafile/o1_mf_mdinh_08p0jqb4_.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=5 STAMP=839510430 file name=/oradata/DB02/datafile/o1_mf_sysaux_03p0jq27_.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=6 STAMP=839510431 file name=/oradata/DB02/datafile/o1_mf_undotbs_04p0jq3a_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=7 STAMP=839510432 file name=/oradata/DB02/datafile/o1_mf_users_05p0jq4d_.dbf
contents of Memory Script:
{
Alter clone database open resetlogs;
}
executing Memory Script
database opened
Finished Duplicate Db at 14-FEB-2014 13:21:48
released channel: c1
released channel: a1
Recovery Manager complete.
[oracle@arrow:db01]/media/sf_linux_x64/rman
$
Did you noticed duplication reused previous duplicated file versus duplicating it again?
Share this
Share this
More resources
Learn more about Pythian by reading the following blogs and articles.
RMAN duplicate in details
Creating a Physical Standby with RMAN Active Duplicate in 11.2.0.3
Table recovery with rman in Database 12c
Ready to unlock value from your data?
With Pythian, you can accomplish your data transformation goals and more.