ποΈ Multitenant Architecture in Oracle Database
The multitenant architecture enables an Oracle database to function as a multitenant container database (CDB).
A CDB includes zero, one, or many customer-created pluggable databases (PDBs).
A PDB is a portable collection of schemas, schema objects, and non schema objects that appears to an Oracle Net client as a non-CDB.
All Oracle databases before Oracle Database 12c were non-CDBs.
A container is a logical collection of data or metadata within the multitenant architecture.
π§© Containers in a CDB
Every CDB consists of the following containers:
1. CDB Root Container (CDB$ROOT)
- The CDB root is a collection of schemas, schema objects, and nonschema objects to which all PDBs belong.
- It stores Oracle-supplied metadata and common users.
- Example of metadata: Source code for Oracle-supplied PL/SQL packages.
- A common user is a database user known in every container.
- The root container is named CDB$ROOT.
2. System Container
- The system container includes the CDB root and all PDBs in the CDB.
- It serves as the logical container for the entire CDB.
3. Application Containers
- A CDB can include zero or more application containers.
- Each application container consists of:
- Exactly one application root, and
- The PDBs plugged into this root.
- The system container includes the CDB root and all PDBs within the CDB, whereas the application container includes only the PDBs plugged into the application root.
- An application root belongs exclusively to the CDB root and no other container.
4. User-Created PDBs
- A PDB contains the data and code required for a specific set of features or applications.
- Example: A PDB can support a human resources or sales application.
- No PDBs exist at the time of CDB creation β they are added based on business requirements.
- A PDB belongs to zero or one application container.
- If it belongs to one, it is called an application PDB.
- Example:
cust1_pdbandcust2_pdbmight belong to thesaas_sales_acapplication container.
- An application seed is an optional application PDB used as a template to create new application PDBs quickly.
5. Seed PDB (PDB$SEED)
- The seed PDB is a system-supplied template used by the CDB to create new PDBs.
- The seed PDB is named PDB$SEED.
- You cannot add or modify objects in PDB$SEED.
Leave a comment