Thursday, July 18, 2013

Oracle Database 12c Multitenant Architecture Part 1

Now that Oracle Database 12c has been release everyone wants to know about the new multitenant architecture. In part 1 of the multitenant Architecture I will go over some of the architecture and features for the multitenant architecture.

The multitenant architecture is the next big thing in Oracle Databases. The multitenant architecture is going to change the way we DBAs create, provision, manage and maintain our Oracle databases.
Multitenant Architecture is made up of Container Database (CDB) and one or many Pluggable Databases (PDB). The PDB is a pluggable database that contains schemas, schema objects, and non-schema objects. The PDB functions the same to the end user as an old-style non-CDB environment. Databases before Oracle 12c were non-CDB databases.

Container databases contains one CDB$ROOT, one PDB$SEED and one or more PDBs. The CDB$ROOT contains Oracle metadata like DBMS_* PL/SQL packages and common users like SYS and C##DBA. The PDB$SEED is a template used by the CDB to create new PDBs. PDBs are entities created for different application needs. No PDBs exist when CDB is created you create PDBs as needed.


This non-CDB environment has three databases each with their own memory allocation, control files, redo logs, temp, undo, data files and Oracle home. 




This multitenant environment is made up of one CDB and three PDBs. The PDBs share the SGA and PGA allocated to the CDB$ROOT. The PDBs have their own SYSTEM, SYSAUX, TEMP and USERS tablespaces. The control files, redo logs and undo are shared by all three PDBs at the CDB layer. Applications interface with the PDBs as they would with a traditional non-CDB using a service. 



1 comment: