Oracle Database 12c: Multitenant architecture

Hello, I will make an overview about the Oracle Multitenant the new option in Oracle Database 12c.

This new architecture enables you to have many pluggable databases inside a single Oracle Database with this option allows the DBA to consolidate many databases into a single RDBMS installation.

At the Oracle Database 11g each instance it is associated with only database.
In Oracle database 12c an instance is associated with an entire CDB. In case there are multiple databases on the same server, then there is a separate and distinct instance for each non-CDB or CDB. The instance can not be shared between a non-CDB and CDB (Oracle Database 11g refer with non-CDB like the old architecture).

The new 12c, consolidated the databases together in a multitenant container database and a database consolidated within an CDB.


A pluggable database is a set of databases schemas that appears logically to users and applications as a separate database, each pluggable database, has its own dedicated application, and is managed either by its own DBA or by the container administrator that is SYS user of the root container, a common user. This common SYS user can manage the root container and every pluggable database.

One CDB is a grouping several applications ends ups with one instance, consequently one set of background process, one SGA allocation and one data dictionary in the root container, common for all PDBs, each PDB maintaining its own application data dictionary.
To maintenance for applications patched or upgraded operation is performed only once on the CDB and consequently all applications are updated at the same time.

At physical level the CDB has a database instance and database files, just as a non-CDB does.

  • Redo log files:
    The redo log files are common for the whole CDB. The information it contains is annotated with the identity of the PDB where a change occurs.
  • Control Files:
    The control files are common for the whole CDB. The control files are updated to reflect any additional tablespace and datafiles of plugged PDBs.
  • Undo Tablespace:
    The undo tablespace is common for all containers.
  • Temporary tablespace:
    A temporary tablespace common to all containers is required. But each PDB can hold its own temporary tablespace for its own local users.
  • Data dictionary:
    Each container has own data dictionary stored in is proper system tablespace, containing its own metadata, and sysaux tablespace.
  • Puggable database:
    The PDBs can create tablespaces according to application needs, there is a seed PDB (PDB$SEED) used to provides fast provisioning of new PDB
  • Data files:
    Each data file is associated with a specific container, named CON_ID.
  • Containers
    Limit of 253 PDBs in a CDB including the seed
    Limit of 512 services in a CDB

This feature brought many innovations at the level from Oracle Database history, bringing more flexibility and more low cost to the companies.

I hope that you enjoy!

Cheers Felipe!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s