Steps to Clone A Pluggable Database From Existing PDB

Steps to Clone A Pluggable Database From Existing PDB

So, I had a requirement for a customer where I had to clone a PDB from existing PDB on same CDB . I followed the following steps to do this.

Step 1.

Put the PDB in read only mode

SQL> select name,open_mode from v$pdbs;
 
NAME OPEN_MODE
—————————— ———-
PDB$SEED READ ONLY
DEV READ WRITE
 
 
SQL> alter session set container=DEV;
 
Session altered.
 
SQL> select file_name from dba_data_files;
 
FILE_NAME
——————————————————————————–
/u01/app/oracle/oradata/nonprod/dev/system01.dbf
/u01/app/oracle/oradata/nonprod/dev/sysaux01.dbf
/u01/app/oracle/oradata/nonprod/dev/users01.dbf
 
 
SQL> show con_name
 
CON_NAME
——————————
DEV
 
SQL> shu immediate;
Pluggable Database closed.
 
SQL> startup open read only
Pluggable Database opened.

Step 2.

Connect to the CDB and initiate PDB clone:

Set Oracle SID as CDB SID
[oracle@server1]$export ORACLE_SID=NONPROD
[oracle@server1]$sqlplus / as sysdba
SQL> show con_name
 
CON_NAME
——————————
CDB$ROOT
 
— Clone pluggable
 
 
SQL> create pluggable database DEVCLONE from DEV FILE_NAME_CONVERT=(‘/u01/app/oracle/oradata/nonprod/dev’,’/u01/app/oracle/oradata/nonprod/devclone’);
Pluggable database created.

Step 3:

Start the new cloned PDB In read write mode

SQL> select name,open_mode from v$pdbs;
 
NAME OPEN_MODE
—————————— ———-
PDB$SEED READ ONLY
DEV READ ONLY
DEVCLONE MOUNTED
 
SQL> alter session set CONTAINER=DEV;
 
Session altered.
 
SQL> shutdown immediate;
Pluggable Database closed.
SQL> startup
Pluggable Database opened.
SQL> show con_name
DEV

Step4:-

start the new cloned PDB( DEVCLONE)

SQL> alter session set container=DEVCLONE;
 
Session altered.
SQL> SHU IMMEDIATE
 
SQL> startup
Pluggable Database opened.
 
 
SQL> conn sys/syspassword@NONPROD as sysdba
Connected.
SQL> select name,open_mode from v$pdbs;
 
NAME OPEN_MODE
—————————— ———-
PDB$SEED READ ONLY
DEV READ WRITE
DEVCLONE READ WRITE

Categories

Leave a Reply

Your email address will not be published. Required fields are marked *