1- Create a CDB with/without DBCA:
The specific methods for creating a CDB are:
– With the CREATE DATABASE SQL statement. (There is a slight difference between the script to create a database with/without CDB)
– You must enable PDBs (ENABLE PLUGGABLE DATABASE clause must be set to TRUE in Pfile/Spfile) ;
– You must specify the names and locations of the root’s files and the seed’s files.
– Seed’s files (1 of the 3 options):
1- The SEED FILE_NAME_CONVERT clause
2- Oracle Managed Files
3- The PDB_FILE_NAME_CONVERT initialization parameter (Pfile/Spfile)
– 2 options:
– Creating a CDB Without Using Oracle Managed Files (https://www.techdatabasket.com/creating-a-cdb-without-using-oracle-managed-files/)
– Creating a CDB Using Oracle Managed Files (DB_CREATE_FILE_DEST)
Run the catcdb.sql SQL script. This script installs all of the components required by a CDB:
With SYSDBA administrative privilege:
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/utlrp.sql
@?/rdbms/admin/catcdb.sql
With SYSTEM:
@?/sqlplus/admin/pupbld.sql
2- Create a CDB using DBCA:
– With the Database Configuration Assistant (DBCA), a graphical tool.
– With the Database Configuration Assistant (DBCA) in silent mode.
Useful script in this case:
– $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc
– $ORACLE_HOME/assistants/dbca/dbca.rsp
– If you create with PDB some clauses must be specified -createAsContainerDatabase {true | false} , -numberOfPDBs [integer] and -pdbName [pdb_name]
3- Create a PDB and be able to create a PDB in all existing steps like the picture below from Oracle documentation:

Create PDB: (CREATE PLUGGABLE DATABASE) — (Specify FILE_NAME_CONVERT parameter every time to create a PDB)
3.1 Create a PDB using the seed (https://www.techdatabasket.com/creating-a-pdb-database-from-seed-template/)
3.2 Creating a PDB through “Cloning a Local PDB (Source in read only mode)” (https://www.techdatabasket.com/creating-a-pdb-from-a-local-pdb/).
From Oracle documentation “After you create the PDB, it is in mounted mode, and its status is NEW. You can view the open mode of a PDB by querying the OPEN_MODE column in the V$PDBS view. You can view the status of a PDB by querying the STATUS column of the CDB_PDBS or DBA_PDBS view.”.
3.3 Creating a PDB by Cloning a Remote PDB (https://www.techdatabasket.com/creating-a-pdb-by-cloning-a-remote-pdb/)
3.3.1- You must create the DB Link in the target pointing to the source.
3.4 Creating a PDB by Cloning a Non-CDB
3.4.1- You create the db_link pointing to the service name of the cdb.
3.4.2- Don’t forget to run @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql script
3.5 Plugging an unplugged PDB into a CDB
3.5.1- Your PDB must be closed to unplug.
4- Changing the Global Database Name of a PDB (PDB must be in restricted session)
5- Dropping the PDB
6.Rename PDB Global_name
7- Check information about Temporary and Permanents tablespaces
Database Administrator’s Guide -> 2 Creating and Configuring an Oracle Database (to get the parameter file 2.6.1.1 Sample Initialization Parameter File)
Database Administrator’s Guide -> 13 Managing Tablespaces
Database Administrator’s Guide -> 16 Managing Undo
Database Administrator’s Guide -> 31 Distributed Database Concepts -> 31.2 Database Links
Database Administrator’s Guide -> 37 Creating and Configuring a CDB
Database Administrator’s Guide -> 38 Creating and Removing PDBs with SQL*Plus
Database Administrator’s Guide -> 40 Administering a CDB with SQL*Plus (ALTER SYSTEM SET)
Database Administrator’s Guide -> 42 42 Administering PDBs with SQL*Plus
Database Administrator’s Guide -> 43 Viewing Information About CDBs and PDBs with SQL*Plus

*The views expressed here are my own and do not represent those of my employer.*
Hello, I’m Bruno — a dual citizen of Brazil and Sweden. I bring a global perspective shaped by experiences in both South America and Europe, with a strong focus on collaboration and innovation across cultures. I am a Computer Scientist, PhD Candidate in Information and Communication Technologies, focusing on Data Science and Artificial Intelligence, and hold dual Master’s degrees in Data Science and Cybersecurity. With over fifteen years of international experience spanning Brazil, Hungary, and Sweden, I have collaborated with global organizations such as IBM, Playtech, and Oracle, as well as contributed remotely to projects across multiple regions. My professional interests include Databases, Cybersecurity, Cloud Computing, Data Science, Data Engineering, Big Data, Artificial Intelligence, Programming, and Software Engineering, all driven by a deep passion for transforming data into strategic business value.