Overview
To create PDB from non-cdb, you need to follow these steps,
- open non-cdb in read only mode
- generate xml file
- check compatibility
- create PDB from xml file
- run post script, noncdb_to_pdb.sql
Create xml file
$ srvctl stop database -db ORCL -o immediate SQL> startup nomount SQL> ALTER DATABASE MOUNT; SQL> ALTER DATABASE OPEN READ ONLY; BEGIN DBMS_PDB.DESCRIBE(pdb_descr_file => '/tmp/orcl.xml'); END; /
Check compatibility
SET SERVEROUTPUT ON DECLARE compatible CONSTANT VARCHAR2(3) := CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY( pdb_descr_file => '/tmp/orcl.xml', pdb_name => 'NCDB') WHEN TRUE THEN 'YES' ELSE 'NO' END; BEGIN DBMS_OUTPUT.PUT_LINE(compatible); END; /
Create PDB using xml file
$ srvctl stop database -db ORCL -o immediate SQL> CREATE PLUGGABLE DATABASE ORCLPDB USING '/tmp/orcl.xml'; SQL> alter session set container = ORCLPDB; SQL> @?/rdbms/admin/noncdb_to_pdb.sql