What are CDBs,PDBs and Containers?

12c Multitenant Architecture

Database 12c brings a new architecture called multitenant architecture. This allows you to have a number of virtual databases called containers which exist inside one physical database called a container database. The containers can easily be "unplugged" or "plugged into" the container database and as such, the containers are also known as pluggable databases (PDB).

The pluggable databases, from an application perspective, look and behave just like normal databases. Because of this, the 12c multitenant architecture is ideal for consolidating databases, especially development databases, onto a single server.

Prior to 12c, consolidation meant having multiple databases on one server or multiple schemas within a single database. However, this brought a number of challenges. To have multiple databases on a single server you effectively had to split the resources of the underlying server as you needed to share the memory and CPU of the server between each database running on the server. This was particularly inefficient in a development environment when some databases sat idle using up valuable RAM and CPU. Having multiple schemas on a single database as part of a consolidation solution, brought its own issues. In particular, when two schemas had similar table names which would certainly be the case if you had two development schemas for the same application in the same database.

The multitenant architecture in 12c helps remove these issues. The following diagram is a simplified view of the new architecture.

Oracle%20Multitenant.gif

NOTES

License Information

Oracle Multitenant is a database option and requires a license. However, in 12c, if you only have one pluggable database in the container database then a license is not required. For 19c, the limit is 3 pluggable databases. See the following links.

12c License Rules
19c License Rules

Container Databases

This is the physical database that houses the "virtual databases".

Containers

These are the "virtual databases" that exists inside the container database.

Pluggable Databases

This is another name for containers. They are called pluggable databases because they can be plugged and unplugged from the CDB.

Deprecated

Non-multitenant architecture has been deprecated by Oracle. However, it will still be available and supported in versions up to and including 12c Release 2. After this it may be desupported. See the following link. https://docs.oracle.com/database/121/UPGRD/deprecated.htm#BABDBCJI

Addendum
As of 21c Non-Multitenant architecture has been desupported. See here - https://docs.oracle.com/en/database/oracle/oracle-database/21/upgrd/upgrade-scenarios-non-cdb-oracle-databases.html

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License