Oracle database 12c: Container Database (CDB) and Pluggable Database (PDB)

In the last section on Oracle Database 12c, we discussed about the general architecture about Oracle 12c Multitenant Architecture

Multitenant Architecture

Now we will go in more details about.

What is Container Database (CDB) and Pluggable Database (PDB)?

Container Database (CDB) : Container database(CDB) is a main part of Multitenant database .It houses all the things which are shared across all the pluggable database.On the surface this seems very similar to a conventional Oracle database, as it contains most of the working parts you will be already familiar with (controlfiles, datafiles, undo, tempfiles, redo logs etc.). It also houses the data dictionary for those objects that are owned by the root container and those that are visible to all PDBs.
Pluggable Database (PDB) : Pluggable database contains mainly user data. It does not need to worry about controlfiles, redo logs and undo etc as they are managed by Container database. Instead it is just made up of datafiles and tempfiles to handle it’s own objects. This includes it’s own data dictionary, containing information about only those objects that are specific to the PDB.
Data Dictionary in Multitenant Architecture

1)The data dictionary is split ted between  the root container, and PDB.

2) Root container dictionary contains the dictionary of common oracle objects

3) PDB contains the dictionary of its own objects but it can also see the database dictionary of root container

4)  From the perspective of the PDB, the data dictionary is the union of the root and PDB data dictionaries, so internally the PDB feels very much like a normal Oracle database. For example, the DBA_% and ALL_% views within the PDB appears the same as any non-CDB database.

Multitenant 12c