1、Stop the cluster database and start database on one node with read noly [oracle@raca1 admin]$ srvctl stop database -d racdb [oracle@raca1 admin]$ [oracle@raca1 admin]$ [oracle@raca1 admin]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Wed Apr 19 10:58:17 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to an idle instance. SQL> startup mount; ORACLE instance started. Total System Global Area 7.8920E+10 bytes Fixed Size 12169704 bytes Variable Size 7516196376 bytes Database Buffers 4.5366E+10 bytes Redo Buffers 256262144 bytes In-Memory Area 2.5770E+10 bytes Database mounted. SQL> alter database open read only; Database altered. 2、Create XML for PDB,and you can choose any path to locate you XML file,this XML depends on you source database. SQL> exec DBMS_PDB.DESCRIBE('/home/oracle/racdb.xml'); PL/SQL procedure successfully completed. 3、close your source database. SQL> shutdown immediate 4、change the environment to new cdb,and check the pdb is or not compatible [oracle@raca1 ~]$ export ORACLE_SID=raca1 [oracle@raca1 ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Wed Apr 19 16:18:36 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> set serveroutput on SQL> DECLARE 2 compatible CONSTANT VARCHAR2(3) := 3 CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY( 4 pdb_descr_file => '/home/oracle/racdb.xml', 5 pdb_name => 'RACDB') 6 WHEN TRUE 7 THEN 'YES' 8 ELSE 'NO' 9 END; 10 BEGIN 11 DBMS_OUTPUT.PUT_LINE(compatible); 12 END; 13 / YES PL/SQL procedure successfully completed. 5、Then,create the pluggable database, and to plug the database into the CDB ###ERROE SQL> CREATE PLUGGABLE DATABASE racdb USING '/home/oracle/racdb.xml' NOCOPY TEMPFILE REUSE; CREATE PLUGGABLE DATABASE racdb USING '/home/oracle/racdb.xml' NOCOPY TEMPFILE REUSE * ERROR at line 1: ORA-65139: Mismatch between XML metadata file and data file +DATA/racdb/datafile/system01.dbf for value of fcpsb (180939629 in the plug XML file, 181038820 in the data file) 6、Some metadata file and data file is not correct,I prefer to generate a new XML: [oracle@raca1 ~]$ export ORACLE_SID=racdb1 [oracle@raca1 ~]$ echo $ORACLE_SID racdb1 [oracle@raca1 ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Wed Apr 19 16:47:51 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to an idle instance. SQL> startup mount; ORACLE instance started. Total System Global Area 7.8920E+10 bytes Fixed Size 12169704 bytes Variable Size 7516196376 bytes Database Buffers 4.5366E+10 bytes Redo Buffers 256262144 bytes In-Memory Area 2.5770E+10 bytes Database mounted. SQL> alter database open read only; Database altered. SQL> exec DBMS_PDB.DESCRIBE('/home/oracle/racdb.xml'); PL/SQL procedure successfully completed. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. 7、change the environment to new ORACLE_HOME and ORACLE_SID,Use the following command syntax to create the pluggable database, and to plug the database into the CDB: [oracle@raca1 ~]$ export ORACLE_SID=raca1 [oracle@raca1 ~]$ sqlplus / as sysdba SQL> CREATE PLUGGABLE DATABASE racdb USING '/home/oracle/racdb.xml' NOCOPY TEMPFILE REUSE; Pluggable database created. SQL> alter session set container=racdb; Session altered. SQL> @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql 8、remove the source non-cdb from crs,you must use root account [grid@racd2 ~]$ srvctl remove database -d racdb Remove the database racdb? (y/[n]) y PRKO-3077 : Failed to remove database racdb: PRCD-1032 : Failed to remove database resource racdb PRCR-1028 : Failed to remove resource ora.racdb.db PRCR-1072 : Failed to unregister resource ora.racdb.db CRS-0245: User does not have enough privilege to perform the operation [grid@racd2 ~]$ exit logout [root@racd2 ~]# cd /u01/grid/app/12.2.0/bin/ [root@racd2 bin]# ./srvctl remove database -d racdb [root@racd2 bin]# su - grid Last login: Thu Apr 20 15:35:31 CST 2017 [grid@racd2 ~]$ crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora....SM.lsnr ora....er.type ONLINE ONLINE racd1 ora.DATA.dg ora....up.type ONLINE ONLINE racd1 ora....ER.lsnr ora....er.type ONLINE ONLINE racd1 ora....AF.lsnr ora....er.type OFFLINE OFFLINE ora....N1.lsnr ora....er.type ONLINE ONLINE racd1 ora.MGMT.dg ora....up.type ONLINE ONLINE racd1 ora.MGMTLSNR ora....nr.type ONLINE ONLINE racd1 ora.VOTE.dg ora....up.type ONLINE ONLINE racd1 ora.asm ora.asm.type ONLINE ONLINE racd1 ora.chad ora.chad.type ONLINE ONLINE racd1 ora.cvu ora.cvu.type ONLINE ONLINE racd1 ora.mgmtdb ora....db.type ONLINE ONLINE racd1 ora....network ora....rk.type ONLINE ONLINE racd1 ora.ons ora.ons.type ONLINE ONLINE racd1 ora.qosmserver ora....er.type ONLINE ONLINE racd1 ora.racd.db ora....se.type ONLINE ONLINE racd1 ora....D1.lsnr application ONLINE ONLINE racd1 ora.racd1.ons application ONLINE ONLINE racd1 ora.racd1.vip ora....t1.type ONLINE ONLINE racd1 ora....D2.lsnr application ONLINE ONLINE racd2 ora.racd2.ons application ONLINE ONLINE racd2 ora.racd2.vip ora....t1.type ONLINE ONLINE racd2 ora.scan1.vip ora....ip.type ONLINE ONLINE racd1 [oracle@racd2 ~]$ echo $ORACLE_SID racdb2 [oracle@racd2 ~]$ export ORACLE_SID=racd2 [oracle@racd2 ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Thu Apr 20 15:46:33 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> alter session set container=racdb; Session altered. SQL> select instance_name,status from gv$instance; INSTANCE_NAME STATUS ---------------- ------------ racd2 MOUNTED racd1 MOUNTED SQL> alter pluggable database racdb open; Pluggable database altered. SQL> alter pluggable database racdb save state; Pluggable database altered.