Clone an Oracle pluggable database
There are multiple methods of cloning a database. Before 12c this was slightly more time-consuming. With 12c, and later, Pluggable Databases (PDB) this process is streamlined.
This short post will be helpful if you either:
want to test an application patch of your production PDB
want to diagnose performance issues or perform performance regression tests on your application
You of course need to ensure that you have enough disk space to hold a complete clone of the PDB.
First set the environment and connect to the container which contains the PDB you want to clone.
export ORACLE_SID=cdb1
sqlplus / as sysdba
Next, open the source PDB you want to clone into READ ONLY mode
ALTER PLUGGABLE DATABASE PRODPDB CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE PRODPDB OPEN READ ONLY;
Next, create a new PDB. In this example, we are calling our new PDB “TESTPDB”
CREATE PLUGGABLE DATABASE TESTPDB FROM PRODPDB;
Finally re-open your production database
ALTER PLUGGABLE DATABASE PRODPDB CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE PRODPDB OPEN;
There are other ways of cloning a PDB. For example, creating an XML schema. Above is one way to get the job done.