Overview
This procedure demonstrates cloning an unplugged PDB multiple times.
References
- Oracle® 12.1 Database Administrator's Guide
- Oracle® 12.1 Database Error Messages
- Oracle® 12.1 Database Reference
- Oracle® 12.1 SQL Language Reference
- SQL*Plus® User's Guide and Reference 12.1
Procedure
This procedure is based on “ 38.5.2 Plugging In an Unplugged PDB ”.
Set Database Environment
Set the database environment to the JAM instance as follows:
. oraenv
The expected output is:
ORACLE_SID = [ocm12c] ? jar The Oracle base remains unchanged with value /opt/app/oracle
Start SQL*Plus Session
Start a SQL*Plus session as follows:
sqlplus / as sysdba
The expected output is:
SQL*Plus: Release 12.1.0.2.0 Production on Wed Oct 23 13:36:21 2019 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to an idle instance.
Startup JAM Instance
Run the following SQL command to start the JAM instance:
startup
The expected output is:
ORACLE instance started. Total System Global Area 1543503872 bytes Fixed Size 2924736 bytes Variable Size 939528000 bytes Database Buffers 587202560 bytes Redo Buffers 13848576 bytes Database mounted. Database opened.
See Current State of PDBs
Run the following SQL query to what the state of all the PDBs are:
select name, open_mode from V$PDBS;
The expected output is:
NAME OPEN_MODE ------------------------------ ---------- PDB$SEED READ ONLY PLUM READ WRITE JAM READ WRITE VEGEMITE READ ONLY VEGEMITER READ WRITE
See “ Create Snapshot Copy Clone ” for an explanation of the status of the last two (2) PDBs.
Attempt to Unplug JAM PDB
Run the following SQL command to unplug the JAM PDB:
alter pluggable database jam unplug into 'jam.xml';
The command failed with the following errors:
alter pluggable database jam unplug into 'jam.xml' * ERROR at line 1: ORA-65025: Pluggable database JAM is not closed on all instances.
I forgot to close the PDB before unplugging.
Close JAM PDB
Run the following SQL command to close the JAM PDB:
alter pluggable database jam close;
The expected output is:
Pluggable database altered.
Unplug JAM PDB
Run the following SQL command to unplug the JAM PDB:
alter pluggable database jam unplug into 'jam.xml';
The expected output is:
Pluggable database altered.
Attempt to Plug JAM PDB back In
Run the following SQL command to plug the JAM PDB back in as a clone:
create pluggable database jam as clone using 'jam.xml';
The command failed with the following errors:
create pluggable database jam as clone using 'jam.xml' * ERROR at line 1: ORA-65012: Pluggable database JAM already exists.
Even though the PDB has been unplugged, it is still registered to the root container.
Drop JAM PDB
Run the following SQL command to drop the JAM PDB:
drop pluggable database jam;
The expected output is:
Pluggable database dropped.
See Current State of PDBs
Run the following SQL query to what the state of all the PDBs are:
select name, open_mode from V$PDBSs
The expected output is:
NAME OPEN_MODE ------------------------------ ---------- PDB$SEED READ ONLY PLUM READ WRITE VEGEMITE READ ONLY VEGEMITER READ WRITE
The JAM PDB seems to have been removed.
Confirm JAM PDB Has Been Removed
Run the following SQL query to confirm JAM PDB has been removed:
select pdb_name,status from DBA_PDBS;
The expected output is:
PDB_NAME STATUS --------- ------ PDB$SEED NORMAL PLUM NORMAL VEGEMITE NORMAL VEGEMITER NORMAL
Clone Unplugged JAM PDB as JAM0
Run the following SQL command to plug the unplugged JAM PDB back in as clone called JAM0:
create pluggable database jam0 as clone using 'jam.xml';
The expected output is:
Pluggable database created.
Clone Unplugged JAM PDB as JAM1
Run the following SQL command to plug the unplugged JAM PDB back in as clone called JAM1:
create pluggable database jam1 as clone using 'jam.xml'
The expected output is:
Pluggable database created.
Opem Cloned PDBs As Read/Write
Run the following SQL command to opem cloned PDBs as read/write:
alter pluggable database jam0, jam1 open;
The expected output is:
Pluggable database altered.
See Current State of PDBs
Run the following SQL query to what the state of all the PDBs are:
select name, open_mode from V$PDBS;
The expected output is:
NAME OPEN_MODE ------------------------------ ---------- PDB$SEED READ ONLY PLUM READ WRITE JAM0 READ WRITE VEGEMITE READ ONLY VEGEMITER READ WRITE JAM1 READ WRITE 6 rows selected.
Save Current State of Cloned PDBs
Run the following SQL command to save the current open mode of these new PDBs (JAM0 and JAM1):
alter pluggable database jam0, jam1 save state;
The expected output is:
Pluggable database altered.