Oracle Multitenant - an Oracle Database 12c Enterprise Edition option – introduces a new architecture that enables customers to easily consolidate multiple databases into a standardized database version that is deployed on a shared cloud infrastructure, without changing their applications. This new architecture delivers all the benefits of managing many databases as one, yet retains the isolation and resource prioritization of separate databases
New Concept of Container, Pluggable Databases (PDB) & Container Database (CDB) are introduced in the multitenant architecture.
A container is a collection of schemas, objects, and related structures. A container appears to be a logically separate, independent database. Each container in a CDB has a unique ID and name. A container is classified either as a PDB or root container (also called the root). The root is a collection of schemas, schema objects, and nonschema objects to which all PDBs belong. The root does not store any user data.
A CDB has a single set of background processes and SGA that is used by all PDBs plugged into that CDB. A database instance is associated with a single CDB. A database instance cannot be shared between a non-CDB and CDB. Every CDB has the following containers:
- One root container, called CDB$ROOT, that stores Oracle-supplied metadata and common users (database users known in every container belonging to that CDB).
- One seed PDB, called PDB$SEED—a system-supplied template that the CDB can use to create new PDBs. The seed PDB cannot be modified.
- Zero or more PDBs.
A PDB is a user-created entity containing a collection of schemas and schema objects that store the data and code required for an application. No PDBs exist when a CDB is first created. A PDB can be plugged into only one CDB at a time.
A CDB can have multiple PDBs plugged in at any given time, and each PDB exists in complete isolation from the other PDBs plugged into the same CDB. Each PDB retains granular control over its schemas and objects.
From the perspective of a user or application, the PDB appears as if it is a traditional non-CDB database. From the operating system perspective, the CDB is the database.