Wednesday, 28 December 2022

How to convert the non-cdb database into CDB

Steps to Migrate Non-Container Database to Container Pluggable Database

Migrating to cdb database needs downtime, in order to reduce downtime we can create cdb database beforehand.

Details:

cdb database: TCDB011

non-cdb database: VSTORE

version: 19c

Step 1: Shutdown the VSTORE(non-cdb) database 

Step 2: Start the database in read only mode.

SQL > Startup open read only











Step3 - Generate  XML file for VSTORE database.

SQL> exec DBMS_PDB.DESCRIBE(pdb_descr_file => '/tmp/vstore_manifest.xml');





Step4 - Shut down the VSTORE database

SQL> Shutdown immediate










Note - From here, all steps will be performed on the Container database TCDB011

Step 5 - Start TESTDB database (container database) if not running

Step 6 - Check vstore (non-container database) compatibility with TCDB011 (container database)

SET SERVEROUTPUT ON
DECLARE
compatible CONSTANT VARCHAR2(3) := CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(pdb_descr_file => '/tmp/vstore_manifest.xml')
WHEN TRUE THEN 'YES'
ELSE 'NO'
END;
BEGIN
DBMS_OUTPUT.PUT_LINE(compatible);
END;
/







Step7 - Check for any errors resulting from the above step
col name for a10
col cause for a10
col type for a20
col message for a80
set lines 230
SELECT name, cause, type, message, status FROM PDB_PLUG_IN_VIOLATIONS WHERE name='VSTORE';

















Note: If there are any errors, fix them before proceeding. 

common errors like parameter mismatch, component mismatch between non-cdb and cdb, patch level difference between non-cdb and cbd.

Step 8 - Plug the vstore database into container TCDB011

create pluggable database TCSTAGE using '/tmp/vstore_manifest.xml' NOCOPY tempfile reuse;








COPY - With this option, VSTORE will remain intact. All data files will remain untouched. For PDB files will be copied to the new location, provided with the parameter FILE_NAME_CONVERT.
NOCOPY - Existing files will be used and after completion of the operation, VSTORE will not remain usable. As new PDB is using the same data files.
MOVE - using parameter FILE_NAME_CONVERT, existing datafiles will be moved to the new location, hence after the operation completion, VSTORE will not be usable.


Step 9 - Run the PDB conversion script provided by Oracle
sqlplus / as sysdba
alter session set container=VSTORE;
@$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql













Step 10 - Start PDB and verify the state









ask application team to verify the database by starting application.

Make necessary changes into configuration management, OEM. Initiate the fresh backup for the vstore database.


No comments:

Post a Comment