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
Hi! I am Bruno, a Brazilian born and bred, and I am also a naturalized Swedish citizen. I am a former Oracle ACE and, to keep up with academic research, I am a Computer Scientist with an MSc in Data Science and another MSc in Software Engineering. I have over ten years of experience working with companies such as IBM, Epico Tech, and Playtech across three different countries (Brazil, Hungary, and Sweden), and I have joined projects remotely in many others. I am super excited to share my interests in Databases, Cybersecurity, Cloud, Data Science, Data Engineering, Big Data, AI, Programming, Software Engineering, and data in general.
(Continue reading)