Monday, July 1, 2013

Oracle Database 12c New Features Explained - RMAN with Multitenant Architecture

RMAN is the beauty of Oracle Backup and Recovery architecture, has changed completely the way backups work and unlimited so many possibilities. We saw so many enhancements by Oracle with each version from Compression of Backups to Handling block corruption. And, 12c is no exception for that. 

In this post, I would like to discuss about new enhancements made to RMAN as part of changes influenced by the Oracle Database Architecture like Multitenant Architecture.

Let's start with Multitenant Architecture, Please refer to my blog post to know more about it.

Backup and Recovery of Pluggable Databases

  • "SYSBACKUP" is the new privilege or user that has been introduced in 12c to perform RMAN Backup and Recovery Operations, no more SYSDBA privilege is required for a specific user to perform Backup operations. "SYSBACKUP" has two roles assigned "SELECT_CATALOG_ROLE" and "HS_ADMIN_SELECT_ROLE"
  • "BACKUP PLUGGABLE DATABASE" is the new command introduced to backup PDBs, it works the same way as "BACKUP DATABASE". It backs up all specified PDB Database files, Control File, and SPFILE of the CDB
  • "BACKUP DATABASE" command can also be used when we make a direct connection to PDB instead of ROOT Container. When we supply "RMAN TARGET /", Oracle makes connection to ROOT Container with SYS user. As we knew, It requires an exclusive service name to establish a connection to a PDB via SQL* Net services such as TNS based applications or Oracle Protocol Adapters or TCP/IP. 
  • "BACKUP DATABASE ROOT;" backs up the ROOT Container. "BACKUP DATABASE 'PDB$SEED';" backs up SEED Database
  • To backup Multiple PDBs, "BACKUP PLUGGABLE DATABASE <PDB1>,<PDB2>.....;"
  • Backing up TABLESPACES and DATAFILES in a CDB environment is similar to Non CDB. "BACKUP TABLESPACE and BACKUP DATAFILE" commands are used to accomplish the task, we just need to make sure that we have connected to the specific Container to which the tablespace or datafile belongs to
  • "RESTORE PLUGGABLE DATABASE" and "RECOVER PLUGGABLE DATABASE" are used to perform a Complete/Incomplete PDB Recovery [or] "RESTORE DATABASE" and "RECOVER DATABASE" are used when connected to PDB
  • "RESTORE TABLESPACE" and "RECOVER TABLESPACE" or "RESTORE DATAFILE" and "RECOVER DATAFILE" can also be used to perform a specific tablespace or datafile recovery of a PDB
  • Cross platform Transport of a Non CDB or Pluggable Database (PDB) or the whole CDB is possible by means of RMAN Cross platform BACKUP and RESTORE, "BACKUP FOR TRANSPORT PLUGGABLE DATABASE PDB;" or "BACKUP TO PLATFORM "platforn name" DATABASE;"  is used to backup the whole database to transport to a different platform of same endian format(Big, little etc...).  Please check  V$TRANSPORTABLE_PLATFORM for more information. The PDB or the Whole CDB to be transported for backup must be in "OPEN READ ONLY" mode. Restoring the backup of Cross platform Database is similar to Standard Restore
  • Duplicating a Pluggable Database and the Whole Container Database is supported by RMAN by adding PLUGGABLE DATABASE Clause to the DUPLICATE Syntax. Example demonstrated in this post is a Container to Container Database Duplication in which Oracle restores the ROOT, SEED, and specified PDB to the AUXILIARY DESTINATION. Please refer to the example for more information

Note : "BACKUP DATABASE;" on root container backs up the whole container includes SEED Container and PDBs

Examples

1) Authenticating with "SYSBACKUP":

Direct SYSBACKUP Authentication

[oracle@ora12c ~]$ rman target '"/ as sysbackup"'
Recovery Manager: Release 12.1.0.1.0 - Production on Mon Jul 1 22:52:29 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
connected to target database: CONDB (DBID=1075048777)

RMAN> BACKUP DATAFILE 1;

Starting backup at 01-JUL-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
.............................................................................................
.............................................................................................
.............................................................................................
Starting Control File and SPFILE Autobackup at 01-JUL-13
piece handle=/backup/CONDB/c-1075048777-20130701-0e comment=NONE
Finished Control File and SPFILE Autobackup at 01-JUL-13

Authenticating with SYSBACKUP Privileged user
[oracle@ora12c CONDB]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Mon Jul 1 22:37:32 2013
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> CREATE USER C##BACKUPADMIN IDENTIFIED BY 123;
User created.

SQL> GRANT SYSBACKUP TO C##BACKUPADMIN;
Grant succeeded.

SQL> !rman target C##BACKUPADMIN 
Recovery Manager: Release 12.1.0.1.0 - Production on Mon Jul 1 22:38:07 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
target database Password: 
connected to target database: CONDB (DBID=1075048777)
RMAN> BACKUP DATAFILE 8;
Starting backup at 01-JUL-13
using target database control file instead of recovery catalog
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 01-JUL-13
............................................................................................
.............................................................................................
.............................................................................................
Starting Control File and SPFILE Autobackup at 01-JUL-13
piece handle=/backup/CONDB/c-1075048777-20130701-0d comment=NONE
Finished Control File and SPFILE Autobackup at 01-JUL-13

2) Backup of Pluggable Database (PDB)

On ROOT Container connection, Using "BACKUP PLUGGABLE DATABASE" 
[oracle@ora12c ~]$ rman target /
Recovery Manager: Release 12.1.0.1.0 - Production on Mon Jul 1 17:11:07 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
connected to target database: CONDB (DBID=1075048777)

RMAN> BACKUP PLUGGABLE DATABASE PDB PLUS ARCHIVELOG;

OR

On PDB Connection itself, Using "BACKUP DATABASE" on PDB
[oracle@ora12c ~]$ rman target sys@PDB
Recovery Manager: Release 12.1.0.1.0 - Production on Mon Jul 1 17:35:59 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
target database Password: 
connected to target database: CONDB (DBID=1075048777)
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

Output
Starting backup at 01-JUL-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=58 device type=DISK
specification does not match any archived log in the repository
backup cancelled because there are no files to backup
Finished backup at 01-JUL-13
Starting backup at 01-JUL-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00009 name=/dbs/CONDB/PDB/sysaux01.dbf
input datafile file number=00011 name=/dbs/CONDB/PDB/example01.dbf
input datafile file number=00008 name=/dbs/CONDB/PDB/system01.dbf
input datafile file number=00019 name=/dbs/CONDB/PDB/root_cdb_01.dbf
input datafile file number=00022 name=/dbs/CONDB/PDB/ts_pdb_01.dbf
input datafile file number=00010 name=/dbs/CONDB/PDB/SAMPLE_SCHEMA_users01.dbf
channel ORA_DISK_1: starting piece 1 at 01-JUL-13
channel ORA_DISK_1: finished piece 1 at 01-JUL-13
piece handle=/backup/CONDB/CONDB_47_819653777_CONDB tag=TAG20130701T173617 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
Finished backup at 01-JUL-13
Starting backup at 01-JUL-13
using channel ORA_DISK_1
specification does not match any archived log in the repository
backup cancelled because there are no files to backup
Finished backup at 01-JUL-13
Starting Control File and SPFILE Autobackup at 01-JUL-13
piece handle=/backup/CONDB/c-1075048777-20130701-03 comment=NONE

Finished Control File and SPFILE Autobackup at 01-JUL-13

3) Restore and Recovery of Pluggable Database (PDBs)

Recover one of the PDBs System Datafile
I have deliberately removed system datafile for testing the recovery of a pluggable database 'PDB'. Below errors occur when trying to make a connection to PDB and "Checker run found 1 new persistent data failures" can be seen in the alert log

SQL> ALTER SESSION SET CONTAINER=PDB;
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-01116: error in opening database file 8
ORA-01110: data file 8: '/dbs/CONDB/PDB/system01.dbf'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

[oracle@ora12c PDB]$ rman target /
Recovery Manager: Release 12.1.0.1.0 - Production on Mon Jul 1 20:59:44 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
connected to target database: CONDB (DBID=1075048777)

RMAN> SHUTDOWN ABORT;
using target database control file instead of recovery catalog
Oracle instance shut down

RMAN> STARTUP NOMOUNT;
connected to target database (not started)
Oracle instance started
Total System Global Area    1269366784 bytes
Fixed Size                     2287912 bytes
Variable Size                452986584 bytes
Database Buffers             805306368 bytes
Redo Buffers                   8785920 bytes

RMAN> ALTER DATABASE MOUNT;
Statement processed

RMAN> REPORT SCHEMA;
Report of database schema for database with db_unique_name CONDB
List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    790      SYSTEM               ***     /dbs/CONDB/system01.dbf
3    740      SYSAUX               ***     /dbs/CONDB/sysaux01.dbf
4    760      UNDOTBS1             ***     /dbs/CONDB/undotbs01.dbf
5    250      PDB$SEED:SYSTEM      ***     /dbs/CONDB/pdbseed/system01.dbf
6    5        USERS                ***     /dbs/CONDB/users01.dbf
7    590      PDB$SEED:SYSAUX      ***     /dbs/CONDB/pdbseed/sysaux01.dbf
8    0        PDB:SYSTEM           ***     /dbs/CONDB/PDB/system01.dbf
9    630      PDB:SYSAUX           ***     /dbs/CONDB/PDB/sysaux01.dbf
10   5        PDB:USERS            ***     /dbs/CONDB/PDB/SAMPLE_SCHEMA_users01.dbf
11   357      PDB:EXAMPLE          ***     /dbs/CONDB/PDB/example01.dbf
15   260      SALESPDB:SYSTEM      ***     /dbs/CONDB/salespdb/system01.dbf
16   620      SALESPDB:SYSAUX      ***     /dbs/CONDB/salespdb/sysaux01.dbf
17   250      SALESPDB:SALES       ***     /dbs/CONDB/salespdb/sales01.dbf
19   50       PDB:ROOT_CDB         ***     /dbs/CONDB/PDB/root_cdb_01.dbf
22   10       PDB:TS_PDB           ***     /dbs/CONDB/PDB/ts_pdb_01.dbf
23   260      PDB1:SYSTEM          ***     /dbs/CONDB/PDB1/system01.dbf
24   620      PDB1:SYSAUX          ***     /dbs/CONDB/PDB1/sysaux01.dbf
25   250      PDB1:PDB1            ***     /dbs/CONDB/PDB1/PDB01.dbf
38   790      ORA12C:SYSTEM        ***     /dbs/CONDB/ORA12C/system01.dbf
39   700      ORA12C:SYSAUX        ***     /dbs/CONDB/ORA12C/sysaux01.dbf
40   5        ORA12C:USERS         ***     /dbs/CONDB/ORA12C/users01.dbf
41   358      ORA12C:EXAMPLE       ***     /dbs/CONDB/ORA12C/example01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    60       TEMP                 32767       /dbs/CONDB/temp01.dbf
2    20       PDB$SEED:TEMP        32767       /dbs/CONDB/pdbseed/pdbseed_temp01.dbf
3    28       PDB:TEMP             32767       /dbs/CONDB/PDB/PDB_temp01.dbf
4    20       SALESPDB:TEMP        32767       /dbs/CONDB/salespdb/pdbseed_temp01.dbf
5    20       PDB1:TEMP            32767       /dbs/CONDB/PDB1/pdbseed_temp01.dbf
6    60       ORA12C:TEMP          32767       /dbs/CONDB/ORA12C/temp01.dbf

RMAN> RESTORE DATAFILE 8;
Starting restore at 01-JUL-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00008 to /dbs/CONDB/PDB/system01.dbf
channel ORA_DISK_1: reading from backup piece /backup/CONDB/CONDB_88_819662940_CONDB
channel ORA_DISK_1: piece handle=/backup/CONDB/CONDB_88_819662940_CONDB tag=TAG20130701T200740
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
Finished restore at 01-JUL-13

RMAN> RECOVER DATAFILE 8;
Starting recover at 01-JUL-13
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 01-JUL-13

RMAN> SQL 'ALTER DATABASE OPEN';
sql statement: ALTER DATABASE OPEN

RMAN> SQL 'ALTER PLUGGABLE DATABASE PDB OPEN';
sql statement: ALTER PLUGGABLE DATABASE PDB OPEN

4) Backup for Transporting Pluggable Database

On PDB Container
[oracle@ora12c ~]$ rman target sys@PDB
Recovery Manager: Release 12.1.0.1.0 - Production on Mon Jul 1 23:13:11 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
target database Password: 
connected to target database: CONDB (DBID=1075048777)

RMAN> BACKUP TO PLATFORM "Solaris Operating System (x86-64)";

On ROOT Container
[oracle@ora12c ~]$ rman target /
RMAN> BACKUP TO PLATFORM "Solaris Operating System (x86-64)" PLUGGABLE DATABASE;

Output
Starting backup at 01-JUL-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=70 device type=DISK
............................................................................................
.............................................................................................
.............................................................................................
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:16
Finished backup at 01-JUL-13


5) Duplicating a Pluggable Database

CONDB - SOURCE Database (TARGET)
AUXDB - DESTINATION Database (AUXILIARY)


[oracle@ora12c AUXDB]$ rman target sys@CONDB auxiliary sys@AUXDB
Recovery Manager: Release 12.1.0.1.0 - Production on Tue Jul 2 01:40:28 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
target database Password: 
connected to target database: CONDB (DBID=1075048777)
auxiliary database Password: 
connected to auxiliary database: AUXDB (not mounted)

RMAN> RUN
{
SET NEWNAME FOR DATABASE TO '/dbs/AUXDB/%U';
DUPLICATE TARGET DATABASE TO AUXDB PLUGGABLE DATABASE PDB FROM ACTIVE DATABASE NOFILENAMECHECK;
}2> 3> 4> 5> 

executing command: SET NEWNAME

Starting Duplicate Db at 02-JUL-13
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=20 device type=DISK
current log archived

contents of Memory Script:
{
   sql clone "alter system set  db_name = 
 ''CONDB'' comment=
 ''Modified by RMAN duplicate'' scope=spfile";
   sql clone "alter system set  db_unique_name = 
 ''AUXDB'' comment=
 ''Modified by RMAN duplicate'' scope=spfile";
   shutdown clone immediate;
   startup clone force nomount
   restore clone from service  'CONDB' primary controlfile;
   alter clone database mount;
}
executing Memory Script

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

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

Oracle instance shut down

Oracle instance started

Total System Global Area     417546240 bytes

Fixed Size                     2289064 bytes
Variable Size                255853144 bytes
Database Buffers             155189248 bytes
Redo Buffers                   4214784 bytes

Starting restore at 02-JUL-13
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=20 device type=DISK

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service CONDB
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/dbs/AUXDB/control01.ctl
output file name=/fra/AUXDB/control02.ctl
Finished restore at 02-JUL-13

database mounted
Skipping pluggable database SALESPDB
Skipping pluggable database PDB1
Skipping pluggable database ORA12C
Automatically adding tablespace SYSTEM
Automatically adding tablespace SYSAUX
Automatically adding tablespace PDB$SEED:SYSTEM
Automatically adding tablespace PDB$SEED:SYSAUX
Automatically adding tablespace UNDOTBS1
Skipping tablespace USERS

contents of Memory Script:
{
   set newname for datafile  1 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-1";
   set newname for datafile  3 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-3";
   set newname for datafile  4 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-UNDOTBS1_FNO-4";
   set newname for datafile  5 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-5";
   set newname for datafile  7 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-7";
   set newname for datafile  8 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-8";
   set newname for datafile  9 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-9";
   set newname for datafile  10 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-USERS_FNO-10";
   set newname for datafile  11 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-EXAMPLE_FNO-11";
   set newname for datafile  19 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-ROOT_CDB_FNO-19";
   set newname for datafile  22 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-TS_PDB_FNO-22";
   restore
   from service  'CONDB'   clone database
   skip forever tablespace  "USERS",
 "SALESPDB":"SYSTEM",
 "SALESPDB":"SYSAUX",
 "SALESPDB":"SALES",
 "PDB1":"SYSTEM",
 "PDB1":"SYSAUX",
 "PDB1":"PDB1",
 "ORA12C":"USERS",
 "ORA12C":"SYSTEM",
 "ORA12C":"SYSAUX",
 "ORA12C":"EXAMPLE"   ;
   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

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 02-JUL-13
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 CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:25
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00003 to /dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-3
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:25
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00004 to /dbs/AUXDB/data_D-AUXDB_TS-UNDOTBS1_FNO-4
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 CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00005 to /dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-5
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 CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00007 to /dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-7
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:16
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00008 to /dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-8
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 CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00009 to /dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-9
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:25
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00010 to /dbs/AUXDB/data_D-AUXDB_TS-USERS_FNO-10
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 CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00011 to /dbs/AUXDB/data_D-AUXDB_TS-EXAMPLE_FNO-11
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 CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00019 to /dbs/AUXDB/data_D-AUXDB_TS-ROOT_CDB_FNO-19
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 CONDB
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00022 to /dbs/AUXDB/data_D-AUXDB_TS-TS_PDB_FNO-22
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 02-JUL-13

sql statement: alter system archive log current
current log archived

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

Starting restore at 02-JUL-13
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 CONDB
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=21
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 CONDB
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=22
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 02-JUL-13

datafile 1 switched to datafile copy
input datafile copy RECID=18 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-1
datafile 3 switched to datafile copy
input datafile copy RECID=19 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-3
datafile 4 switched to datafile copy
input datafile copy RECID=20 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-UNDOTBS1_FNO-4
datafile 5 switched to datafile copy
input datafile copy RECID=21 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-5
datafile 7 switched to datafile copy
input datafile copy RECID=22 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-7
datafile 8 switched to datafile copy
input datafile copy RECID=23 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-8
datafile 9 switched to datafile copy
input datafile copy RECID=24 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-9
datafile 10 switched to datafile copy
input datafile copy RECID=25 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-USERS_FNO-10
datafile 11 switched to datafile copy
input datafile copy RECID=26 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-EXAMPLE_FNO-11
datafile 19 switched to datafile copy
input datafile copy RECID=27 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-ROOT_CDB_FNO-19
datafile 22 switched to datafile copy
input datafile copy RECID=28 STAMP=819682983 file name=/dbs/AUXDB/data_D-AUXDB_TS-TS_PDB_FNO-22

contents of Memory Script:
{
   set until scn  2616267;
   recover
   clone database
   skip forever tablespace  "USERS",
 "SALESPDB":"SYSTEM",
 "SALESPDB":"SYSAUX",
 "SALESPDB":"SALES",
 "PDB1":"SYSTEM",
 "PDB1":"SYSAUX",
 "PDB1":"PDB1",
 "ORA12C":"USERS",
 "ORA12C":"SYSTEM",
 "ORA12C":"SYSAUX",
 "ORA12C":"EXAMPLE"    delete archivelog
   ;
}
executing Memory Script

executing command: SET until clause

Starting recover at 02-JUL-13
using channel ORA_AUX_DISK_1

Executing: alter database datafile 6 offline drop
Executing: alter database datafile 15 offline drop
Executing: alter database datafile 16 offline drop
Executing: alter database datafile 17 offline drop
Executing: alter database datafile 23 offline drop
Executing: alter database datafile 24 offline drop
Executing: alter database datafile 25 offline drop
Executing: alter database datafile 40 offline drop
Executing: alter database datafile 38 offline drop
Executing: alter database datafile 39 offline drop
Executing: alter database datafile 41 offline drop
starting media recovery

archived log for thread 1 with sequence 21 is already on disk as file /fra/AUXDB/archivelog/2013_07_02/o1_mf_1_21_8x3rpf5j_.arc
archived log for thread 1 with sequence 22 is already on disk as file /fra/AUXDB/archivelog/2013_07_02/o1_mf_1_22_8x3rpg7h_.arc
archived log file name=/fra/AUXDB/archivelog/2013_07_02/o1_mf_1_21_8x3rpf5j_.arc thread=1 sequence=21
archived log file name=/fra/AUXDB/archivelog/2013_07_02/o1_mf_1_22_8x3rpg7h_.arc thread=1 sequence=22
media recovery complete, elapsed time: 00:00:00
Finished recover at 02-JUL-13
Oracle instance started

Total System Global Area     417546240 bytes

Fixed Size                     2289064 bytes
Variable Size                255853144 bytes
Database Buffers             155189248 bytes
Redo Buffers                   4214784 bytes

contents of Memory Script:
{
   sql clone "alter system set  db_name = 
 ''AUXDB'' 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 =  ''AUXDB'' 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     417546240 bytes

Fixed Size                     2289064 bytes
Variable Size                255853144 bytes
Database Buffers             155189248 bytes
Redo Buffers                   4214784 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "AUXDB" RESETLOGS ARCHIVELOG 
  MAXLOGFILES     16
  MAXLOGMEMBERS      3
  MAXDATAFILES     1024
  MAXINSTANCES     8
  MAXLOGHISTORY      292
 LOGFILE
  GROUP   1  SIZE 50 M ,
  GROUP   2  SIZE 50 M ,
  GROUP   3  SIZE 50 M 
 DATAFILE
  '/dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-1',
  '/dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-5',
  '/dbs/AUXDB/data_D-AUXDB_TS-SYSTEM_FNO-8'
 CHARACTER SET WE8MSWIN1252


contents of Memory Script:
{
   set newname for tempfile  1 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-TEMP_FNO-1";
   set newname for tempfile  2 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-TEMP_FNO-2";
   set newname for tempfile  3 to 
 "/dbs/AUXDB/data_D-AUXDB_TS-TEMP_FNO-3";
   switch clone tempfile all;
   catalog clone datafilecopy  "/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-3", 
 "/dbs/AUXDB/data_D-AUXDB_TS-UNDOTBS1_FNO-4", 
 "/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-7", 
 "/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-9", 
 "/dbs/AUXDB/data_D-AUXDB_TS-USERS_FNO-10", 
 "/dbs/AUXDB/data_D-AUXDB_TS-EXAMPLE_FNO-11", 
 "/dbs/AUXDB/data_D-AUXDB_TS-ROOT_CDB_FNO-19", 
 "/dbs/AUXDB/data_D-AUXDB_TS-TS_PDB_FNO-22";
   switch clone datafile all;
}
executing Memory Script

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

renamed tempfile 1 to /dbs/AUXDB/data_D-AUXDB_TS-TEMP_FNO-1 in control file
renamed tempfile 2 to /dbs/AUXDB/data_D-AUXDB_TS-TEMP_FNO-2 in control file
renamed tempfile 3 to /dbs/AUXDB/data_D-AUXDB_TS-TEMP_FNO-3 in control file

cataloged datafile copy
datafile copy file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-3 RECID=1 STAMP=819682999
cataloged datafile copy
datafile copy file name=/dbs/AUXDB/data_D-AUXDB_TS-UNDOTBS1_FNO-4 RECID=2 STAMP=819682999
cataloged datafile copy
datafile copy file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-7 RECID=3 STAMP=819682999
cataloged datafile copy
datafile copy file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-9 RECID=4 STAMP=819682999
cataloged datafile copy
datafile copy file name=/dbs/AUXDB/data_D-AUXDB_TS-USERS_FNO-10 RECID=5 STAMP=819682999
cataloged datafile copy
datafile copy file name=/dbs/AUXDB/data_D-AUXDB_TS-EXAMPLE_FNO-11 RECID=6 STAMP=819682999
cataloged datafile copy
datafile copy file name=/dbs/AUXDB/data_D-AUXDB_TS-ROOT_CDB_FNO-19 RECID=7 STAMP=819682999
cataloged datafile copy
datafile copy file name=/dbs/AUXDB/data_D-AUXDB_TS-TS_PDB_FNO-22 RECID=8 STAMP=819682999

datafile 3 switched to datafile copy
input datafile copy RECID=1 STAMP=819682999 file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-3
datafile 4 switched to datafile copy
input datafile copy RECID=2 STAMP=819682999 file name=/dbs/AUXDB/data_D-AUXDB_TS-UNDOTBS1_FNO-4
datafile 7 switched to datafile copy
input datafile copy RECID=3 STAMP=819682999 file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-7
datafile 9 switched to datafile copy
input datafile copy RECID=4 STAMP=819682999 file name=/dbs/AUXDB/data_D-AUXDB_TS-SYSAUX_FNO-9
datafile 10 switched to datafile copy
input datafile copy RECID=5 STAMP=819682999 file name=/dbs/AUXDB/data_D-AUXDB_TS-USERS_FNO-10
datafile 11 switched to datafile copy
input datafile copy RECID=6 STAMP=819682999 file name=/dbs/AUXDB/data_D-AUXDB_TS-EXAMPLE_FNO-11
datafile 19 switched to datafile copy
input datafile copy RECID=7 STAMP=819682999 file name=/dbs/AUXDB/data_D-AUXDB_TS-ROOT_CDB_FNO-19
datafile 22 switched to datafile copy
input datafile copy RECID=8 STAMP=819682999 file name=/dbs/AUXDB/data_D-AUXDB_TS-TS_PDB_FNO-22

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

database opened
Executing: drop pluggable database "SALESPDB"
Executing: drop pluggable database "PDB1"
Executing: drop pluggable database "ORA12C"

contents of Memory Script:
{
   sql clone "alter pluggable database all open";
}
executing Memory Script

sql statement: alter pluggable database all open
Dropping offline and skipped tablespaces
Executing: alter database default tablespace system
Executing: drop tablespace "USERS" including contents cascade constraints
Finished Duplicate Db at 02-JUL-13

To verify:
SQL> SELECT NAME,CDB,OPEN_MODE FROM V$DATABASE;

NAME  CDB OPEN_MODE
--------- --- --------------------
AUXDB  YES READ WRITE

SQL> SELECT NAME,OPEN_MODE FROM V$PDBS;

NAME       OPEN_MODE
------------------------------ ----------
PDB$SEED       READ ONLY
PDB       READ WRITE



Thanks for checking my blog, Hope it helps. Please stay tuned for more articles on 12c in coming weeks, add me to your G+ Circles!! Your feedback always helps me and motivates me to blog more, please leave your valuable comment that is always a pleasure to read.

Regards