Toad World Blog

Oracle Active Duplicate with Compressed BackupSets

Jul 1, 2016 11:00:00 PM by Deiby Gomez

Since in Oracle Database 12c we can now use Active Duplicate using Backup set we also have another option, create that backupset Compressed, in that case what we are doing is to compress the BackupSet in order to send less bytes via Network, so imagine that you are duplicating a database and you would like to reduce the amount of bytes to transfer in order to impact less the network, this is a good feature for you. This feature Enables binary compression of the data transfer from the source database to the auxiliary database, The advantage of this is reducing the network bandwidth consumption. Let' see how does it work.

In this example I am using 2 databases, 

  • db1 (Target database)
  • db2 (Auxiliary database)

I will proceed to do two duplications, the first one will be using normal Active Duplicate like if we were in 11g, and the second duplicate will be using "Compressed Backupset" and I will capture some stats of the session that transfered the bytes via network in  order to confirm if less data was transferred. 

Normal Active Duplicate:

[oracle@db12102 db2]$ rman target sys/manager1@db1 auxiliary=sys/manager1@db2

Recovery Manager: Release 12.1.0.2.0 - Production on Sun May 29 17:03:17 2016

Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.

connected to target database: DB1 (DBID=1506943872)
connected to auxiliary database: DB2 (not mounted)

RMAN> DUPLICATE TARGET DATABASE TO 'DB2'
FROM ACTIVE DATABASE;

Starting Duplicate Db at 29-MAY-16
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=22 device type=DISK
current log archived

contents of Memory Script:
{
sql clone "alter system set control_files = 
''/data/db2/DB2/controlfile/o1_mf_cnnz809t_.ctl'', ''/data/db2/DB2/controlfile/o1_mf_cnnz80by_.ctl'' comment=
''Set by RMAN'' scope=spfile";
sql clone "alter system set db_name = 
''DB1'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name = 
''DB2'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
restore clone from service 'db1' primary controlfile;
alter clone database mount;
}
executing Memory Script

sql statement: alter system set control_files = ''/data/db2/DB2/controlfile/o1_mf_cnnz809t_.ctl'',
''/data/db2/DB2/controlfile/o1_mf_cnnz80by_.ctl'' comment= ''Set by RMAN'' scope=spfile


sql statement: alter system set db_name = ''DB1'' comment= ''Modified by RMAN duplicate'' scope=spfile

sql statement: alter system set db_unique_name = ''DB2'' comment= ''Modified by RMAN duplicate'' scope=spfile

Oracle instance shut down

Oracle instance started

Total System Global Area 767557632 bytes

Fixed Size 2929112 bytes
Variable Size 310382120 bytes
Database Buffers 448790528 bytes
Redo Buffers 5455872 bytes

Starting restore at 29-MAY-16
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=21 device type=DISK

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service db1
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/data/db2/DB2/controlfile/o1_mf_cnnz809t_.ctl
output file name=/data/db2/DB2/controlfile/o1_mf_cnnz80by_.ctl
Finished restore at 29-MAY-16

database mounted

contents of Memory Script:
{
set newname for datafile 1 to 
"/data/db2/DB1/datafile/o1_mf_system_cnnz5sx2_.dbf";
set newname for datafile 3 to 
"/data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf";
set newname for datafile 4 to 
"/data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf";
set newname for datafile 5 to 
"/data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf";
set newname for datafile 6 to 
"/data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf";
restore
from service 'db1' clone database
;
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 restore at 29-MAY-16
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service db1
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /data/db2/DB1/datafile/o1_mf_system_cnnz5sx2_.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service db1
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00003 to /data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:08
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service db1
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00004 to /data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service db1
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00005 to /data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service db1
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00006 to /data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 29-MAY-16

sql statement: alter system archive log current
current log archived

contents of Memory Script:
{
restore clone force from service 'db1' 
archivelog from scn 1705909;
switch clone datafile all;
}
executing Memory Script

Starting restore at 29-MAY-16
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: using network backup set from service db1
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=35
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: using network backup set from service db1
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=36
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 29-MAY-16

datafile 1 switched to datafile copy
input datafile copy RECID=6 STAMP=913136672 file name=/data/db2/DB1/datafile/o1_mf_system_cnnz5sx2_.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=7 STAMP=913136672 file name=/data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=8 STAMP=913136672 file name=/data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=9 STAMP=913136672 file name=/data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=10 STAMP=913136672 file name=/data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf

contents of Memory Script:
{
set until scn 1706150;
recover
clone database
delete archivelog
;
}
executing Memory Script

executing command: SET until clause

Starting recover at 29-MAY-16
using channel ORA_AUX_DISK_1

starting media recovery

archived log for thread 1 with sequence 35 is already on disk as file /data/db2/DB2/archivelog/2016_05_29/o1_mf_1_35_cnppbybw_.arc
archived log for thread 1 with sequence 36 is already on disk as file /data/db2/DB2/archivelog/2016_05_29/o1_mf_1_36_cnppbzkp_.arc
archived log file name=/data/db2/DB2/archivelog/2016_05_29/o1_mf_1_35_cnppbybw_.arc thread=1 sequence=35
archived log file name=/data/db2/DB2/archivelog/2016_05_29/o1_mf_1_36_cnppbzkp_.arc thread=1 sequence=36
media recovery complete, elapsed time: 00:00:00
Finished recover at 29-MAY-16
Oracle instance started

Total System Global Area 767557632 bytes

Fixed Size 2929112 bytes
Variable Size 310382120 bytes
Database Buffers 448790528 bytes
Redo Buffers 5455872 bytes

contents of Memory Script:
{
sql clone "alter system set db_name = 
''DB2'' comment=
''Reset to original value by RMAN'' scope=spfile";
sql clone "alter system reset db_unique_name scope=spfile";
}
executing Memory Script

sql statement: alter system set db_name = ''DB2'' comment= ''Reset to original value by RMAN'' scope=spfile

sql statement: alter system reset db_unique_name scope=spfile
Oracle instance started

Total System Global Area 767557632 bytes

Fixed Size 2929112 bytes
Variable Size 310382120 bytes
Database Buffers 448790528 bytes
Redo Buffers 5455872 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "DB2" RESETLOGS ARCHIVELOG 
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 SIZE 50 M ,
GROUP 2 SIZE 50 M ,
GROUP 3 SIZE 50 M 
DATAFILE
'/data/db2/DB1/datafile/o1_mf_system_cnnz5sx2_.dbf'
CHARACTER SET WE8MSWIN1252


contents of Memory Script:
{
set newname for tempfile 1 to 
"/data/db2/DB1/datafile/o1_mf_temp_cnnz83hz_.tmp";
switch clone tempfile all;
catalog clone datafilecopy "/data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf", 
"/data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf", 
"/data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf", 
"/data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf";
switch clone datafile all;
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /data/db2/DB1/datafile/o1_mf_temp_cnnz83hz_.tmp in control file

cataloged datafile copy
datafile copy file name=/data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf RECID=1 STAMP=913136695
cataloged datafile copy
datafile copy file name=/data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf RECID=2 STAMP=913136695
cataloged datafile copy
datafile copy file name=/data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf RECID=3 STAMP=913136695
cataloged datafile copy
datafile copy file name=/data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf RECID=4 STAMP=913136695

datafile 3 switched to datafile copy
input datafile copy RECID=1 STAMP=913136695 file name=/data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=2 STAMP=913136695 file name=/data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=3 STAMP=913136695 file name=/data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=4 STAMP=913136695 file name=/data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf

contents of Memory Script:
{
Alter clone database open resetlogs;
}
executing Memory Script

database opened
Finished Duplicate Db at 29-MAY-16

RMAN> exit

Now let me preset you some stats captured for the session that was transferring the data:

SID      STAT NAME                    VALUE
------------------------------------------------------------------------

40 bytes sent via SQL*Net to client 2041
40 bytes sent via SQL*Net to client 33557432
40 bytes sent via SQL*Net to client 140513000
40 bytes sent via SQL*Net to client 291509096
40 bytes sent via SQL*Net to client 423630680
40 bytes sent via SQL*Net to client 534780584
40 bytes sent via SQL*Net to client 644881904
40 bytes sent via SQL*Net to client 703602863
40 bytes sent via SQL*Net to client 703602863
40 bytes sent via SQL*Net to client 703602863
40 bytes sent via SQL*Net to client 703602863
40 bytes sent via SQL*Net to client 703602863
40 bytes sent via SQL*Net to client 703602863

And now let's do a second Duplicate using Compressed Bakupsets, 

Compressed Backupset:

[oracle@db12102 db2]$ rman target sys/manager1@db1 auxiliary=sys/manager1@db2

Recovery Manager: Release 12.1.0.2.0 - Production on Sun May 29 17:24:34 2016

Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.

connected to target database: DB1 (DBID=1506943872)
connected to auxiliary database: DB2 (not mounted)

RMAN> DUPLICATE TARGET DATABASE TO 'DB2'
FROM ACTIVE DATABASE 
USING COMPRESSED BACKUPSET;2> 3>

Starting Duplicate Db at 29-MAY-16
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=22 device type=DISK
current log archived

contents of Memory Script:
{
sql clone "alter system set control_files = 
''/data/db2/DB2/controlfile/o1_mf_cnnz809t_.ctl'', ''/data/db2/DB2/controlfile/o1_mf_cnnz80by_.ctl'' comment=
''Set by RMAN'' scope=spfile";
sql clone "alter system set db_name = 
''DB1'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name = 
''DB2'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
restore clone from service 'db1' using compressed backupset
primary controlfile;
alter clone database mount;
}
executing Memory Script

sql statement: alter system set control_files = ''/data/db2/DB2/controlfile/o1_mf_cnnz809t_.ctl'',
''/data/db2/DB2/controlfile/o1_mf_cnnz80by_.ctl'' comment= ''Set by RMAN'' scope=spfile


sql statement: alter system set db_name = ''DB1'' comment= ''Modified by RMAN duplicate'' scope=spfile

sql statement: alter system set db_unique_name = ''DB2'' comment= ''Modified by RMAN duplicate'' scope=spfile

Oracle instance shut down

Oracle instance started

Total System Global Area 767557632 bytes

Fixed Size 2929112 bytes
Variable Size 310382120 bytes
Database Buffers 448790528 bytes
Redo Buffers 5455872 bytes

Starting restore at 29-MAY-16
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=21 device type=DISK

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using compressed network backup set from service db1
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02
output file name=/data/db2/DB2/controlfile/o1_mf_cnnz809t_.ctl
output file name=/data/db2/DB2/controlfile/o1_mf_cnnz80by_.ctl
Finished restore at 29-MAY-16

database mounted

contents of Memory Script:
{
set newname for datafile 1 to 
"/data/db2/DB1/datafile/o1_mf_system_cnnz5sx2_.dbf";
set newname for datafile 3 to 
"/data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf";
set newname for datafile 4 to 
"/data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf";
set newname for datafile 5 to 
"/data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf";
set newname for datafile 6 to 
"/data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf";
restore
from service 'db1' using compressed backupset
clone database
;
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 restore at 29-MAY-16
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using compressed network backup set from service db1
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /data/db2/DB1/datafile/o1_mf_system_cnnz5sx2_.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:45
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using compressed network backup set from service db1
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00003 to /data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:05
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using compressed network backup set from service db1
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00004 to /data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using compressed network backup set from service db1
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00005 to /data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using compressed network backup set from service db1
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00006 to /data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02
Finished restore at 29-MAY-16

sql statement: alter system archive log current
current log archived

contents of Memory Script:
{
restore clone force from service 'db1' using compressed backupset
archivelog from scn 1908947;
switch clone datafile all;
}
executing Memory Script

Starting restore at 29-MAY-16
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: using compressed network backup set from service db1
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=43
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: using compressed network backup set from service db1
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=44
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 29-MAY-16

datafile 1 switched to datafile copy
input datafile copy RECID=6 STAMP=913138103 file name=/data/db2/DB1/datafile/o1_mf_system_cnnz5sx2_.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=7 STAMP=913138103 file name=/data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=8 STAMP=913138103 file name=/data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=9 STAMP=913138103 file name=/data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=10 STAMP=913138104 file name=/data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf

contents of Memory Script:
{
set until scn 1909259;
recover
clone database
delete archivelog
;
}
executing Memory Script

executing command: SET until clause

Starting recover at 29-MAY-16
using channel ORA_AUX_DISK_1

starting media recovery

archived log for thread 1 with sequence 43 is already on disk as file /data/db2/DB2/archivelog/2016_05_29/o1_mf_1_43_cnpqqook_.arc
archived log for thread 1 with sequence 44 is already on disk as file /data/db2/DB2/archivelog/2016_05_29/o1_mf_1_44_cnpqqpvx_.arc
archived log file name=/data/db2/DB2/archivelog/2016_05_29/o1_mf_1_43_cnpqqook_.arc thread=1 sequence=43
archived log file name=/data/db2/DB2/archivelog/2016_05_29/o1_mf_1_44_cnpqqpvx_.arc thread=1 sequence=44
media recovery complete, elapsed time: 00:00:00
Finished recover at 29-MAY-16
Oracle instance started

Total System Global Area 767557632 bytes

Fixed Size 2929112 bytes
Variable Size 310382120 bytes
Database Buffers 448790528 bytes
Redo Buffers 5455872 bytes

contents of Memory Script:
{
sql clone "alter system set db_name = 
''DB2'' comment=
''Reset to original value by RMAN'' scope=spfile";
sql clone "alter system reset db_unique_name scope=spfile";
}
executing Memory Script

sql statement: alter system set db_name = ''DB2'' comment= ''Reset to original value by RMAN'' scope=spfile

sql statement: alter system reset db_unique_name scope=spfile
Oracle instance started

Total System Global Area 767557632 bytes

Fixed Size 2929112 bytes
Variable Size 310382120 bytes
Database Buffers 448790528 bytes
Redo Buffers 5455872 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "DB2" RESETLOGS ARCHIVELOG 
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 SIZE 50 M ,
GROUP 2 SIZE 50 M ,
GROUP 3 SIZE 50 M 
DATAFILE
'/data/db2/DB1/datafile/o1_mf_system_cnnz5sx2_.dbf'
CHARACTER SET WE8MSWIN1252


contents of Memory Script:
{
set newname for tempfile 1 to 
"/data/db2/DB1/datafile/o1_mf_temp_cnnz83hz_.tmp";
switch clone tempfile all;
catalog clone datafilecopy "/data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf", 
"/data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf", 
"/data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf", 
"/data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf";
switch clone datafile all;
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /data/db2/DB1/datafile/o1_mf_temp_cnnz83hz_.tmp in control file

cataloged datafile copy
datafile copy file name=/data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf RECID=1 STAMP=913138126
cataloged datafile copy
datafile copy file name=/data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf RECID=2 STAMP=913138126
cataloged datafile copy
datafile copy file name=/data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf RECID=3 STAMP=913138126
cataloged datafile copy
datafile copy file name=/data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf RECID=4 STAMP=913138126

datafile 3 switched to datafile copy
input datafile copy RECID=1 STAMP=913138126 file name=/data/db2/DB1/datafile/o1_mf_sysaux_cnnz42rx_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=2 STAMP=913138126 file name=/data/db2/DB1/datafile/o1_mf_undotbs1_cnnz784o_.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=3 STAMP=913138126 file name=/data/db2/DB1/datafile/o1_mf_users_cnony92f_.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=4 STAMP=913138126 file name=/data/db2/DB1/datafile/o1_mf_users_cnnz774t_.dbf

contents of Memory Script:
{
Alter clone database open resetlogs;
}
executing Memory Script

database opened
Finished Duplicate Db at 29-MAY-16

RMAN>

And now let me show you some Statistics and you will see that less data was transferred: 

SID    STAT NAME                   VALUE
------------------------------------------------------------------------

49 bytes sent via SQL*Net to client 2041
49 bytes sent via SQL*Net to client 3148506
49 bytes sent via SQL*Net to client 4197090
49 bytes sent via SQL*Net to client 6294258
49 bytes sent via SQL*Net to client 8391426
49 bytes sent via SQL*Net to client 11537178
49 bytes sent via SQL*Net to client 15731514
49 bytes sent via SQL*Net to client 18877266
49 bytes sent via SQL*Net to client 20974434
49 bytes sent via SQL*Net to client 28314522
49 bytes sent via SQL*Net to client 31460274
49 bytes sent via SQL*Net to client 33557442
49 bytes sent via SQL*Net to client 36703194
49 bytes sent via SQL*Net to client 38800362
49 bytes sent via SQL*Net to client 41946114
49 bytes sent via SQL*Net to client 49286202
49 bytes sent via SQL*Net to client 52431954
49 bytes sent via SQL*Net to client 55577706
49 bytes sent via SQL*Net to client 57674874
49 bytes sent via SQL*Net to client 59772042
49 bytes sent via SQL*Net to client 62917794
49 bytes sent via SQL*Net to client 68160714
49 bytes sent via SQL*Net to client 70257882
49 bytes sent via SQL*Net to client 77597970
49 bytes sent via SQL*Net to client 80743722
49 bytes sent via SQL*Net to client 83889474
49 bytes sent via SQL*Net to client 87035226
49 bytes sent via SQL*Net to client 90180978
49 bytes sent via SQL*Net to client 97521066
49 bytes sent via SQL*Net to client 100666818
49 bytes sent via SQL*Net to client 111152658
49 bytes sent via SQL*Net to client 119541330
49 bytes sent via SQL*Net to client 122687082
49 bytes sent via SQL*Net to client 124784250
49 bytes sent via SQL*Net to client 127930002
49 bytes sent via SQL*Net to client 130027170
49 bytes sent via SQL*Net to client 133172922
49 bytes sent via SQL*Net to client 136318674
49 bytes sent via SQL*Net to client 138415842
49 bytes sent via SQL*Net to client 148901682
49 bytes sent via SQL*Net to client 150998850
49 bytes sent via SQL*Net to client 159387522
49 bytes sent via SQL*Net to client 167776194
49 bytes sent via SQL*Net to client 169873362
49 bytes sent via SQL*Net to client 175116282
49 bytes sent via SQL*Net to client 178262034
49 bytes sent via SQL*Net to client 188747874
49 bytes sent via SQL*Net to client 191893626
49 bytes sent via SQL*Net to client 195039378
49 bytes sent via SQL*Net to client 197136546
49 bytes sent via SQL*Net to client 208670970
49 bytes sent via SQL*Net to client 211816722
49 bytes sent via SQL*Net to client 214962474
49 bytes sent via SQL*Net to client 217059680
49 bytes sent via SQL*Net to client 217059897

As you can see less data was transferred when we used "Compressed Backupset" in Active Duplicate, it reduced my data a lot, of course this depends on the scenario, but for sure this is a new feature that you can use and take advantage.

Tags: Oracle

Deiby Gomez

Written by Deiby Gomez

Deiby Gómez is the first Oracle ACE Director of Guatemala. He has the highest technical certification in the world: "Oracle Certified Master 11g", "Oracle Certified Master 12c" and "Maximum Availability Architecture Oracle Certified Master 12c", he is the first person ever in Central America with all these certifications. Deiby likes to work with complex scenarios, huge and highly available critical databases where a deep knowledge of Oracle is needed. Deiby also has strong knowledge on Oracle Fusion Middleware and Oracle Cloud (PaaS & IaaS). Deiby was the winner of "IOUG SELECT Journal Editor’s Choice Award 2016" in Las Vegas, USA. He is a frequent speaker in Oracle Events around the World like OTN LAD Tour '13, '14, '15, '16, '17 (Colombia, Guatemala, El Salvador, Ecuador, Uruguay, Argentina, Brazil, Perú, Mexico, Costa Rica); Collaborate in Las Vegas, USA and Oracle Open World '15, '16, '17 (Brazil and USA). He was the first Guatemalan accepted as Beta Tester (12cR2) in San Francisco in 2015. Several articles have been published by him in English, Spanish and Portuguese in Oracle’s website, Toad World, and his own blog. Deiby appeared in the Official "Oracle Magazine" in Nov/Dec 2014 Edition as an outstanding expert. Deiby is the Technical Reviewer of the book “Oracle Database 12cR2 Multitenant - Oracle Press” and he is co-author of the book “Oracle Database 12cR2 Testing Tools and Techniques for Performance and Scalability - Oracle Press”. He loves to share his knowledge, to help people, to solve problems, to make friends and to play Chess.

Certifications:

  • Oracle Database Cloud Administrator Certified Associate
  • Oracle Database Cloud Administrator Certified Professional
  • Oracle Database Cloud Service Operations Certified Associate
  • Oracle Certified Expert, Oracle Database 12c Maximum Availability Architecture
  • Oracle Certified Expert, Oracle Database 12c: RAC and Grid Infrastructure Administration
  • Oracle Database 12c Maximum Availability Architecture Certified Master
  • Oracle Database 12c: Data Guard Administrator
  • Oracle Database 12c Administrator Certified Master (OCM 12c)
  • Oracle Real Application Clusters 12c Certified Implementation Specialist
  • Oracle Database 11g Administrator Certified Master (OCM 11g)
  • Oracle Database 12c Administrator Certified Professional (OCP 12c)
  • Oracle RAC 11g and Grid Infraestructure Administrator
  • Oracle Certified Expert, Oracle Exadata X3 and X4 Administrator
  • Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert
  • Oracle Database 11g Administrator Certified Professional (OCP 11g)
  • Oracle Linux Certified Implementation Specialist
  • Oracle Database 11g Administrator Certified Associate