Monday, July 18, 2016

ORACLE 12 C basics


Oracle Database 12c supports a new multitenant architecture that lets you have many “sub databases” inside a single “super database.” The super database is the multitenant container database or CDB, and the sub databases are the pluggable databases or PDBs. In other words, this new architecture, referred to as the multitenant architecture, lets you have many PDBs inside a single CDB.


As per diagram, Container is just like a normal shipping type container which can contain multiple item and can be shipped from one location to another location. Same like in Oracle 12C container database it has multiple database inside a Container which can be plug and unplug as per his need/requirement.

What Is Multitenat:-

As showing in diagram, If we are discussing this in lay man language, then can define Multitenat as like building structure where at the same geographical area we have multiple flats or offices which is using same stairs , same lifts same CCTV and same security man for entering in the campus. But all flats or offices is independent and has own way of work. No one will interrupt to other ones.

Suppose a condition where we have to create two different schema with the same name in the database. For e.g  in case of peoplesoft application which have a specific schema name - SYSADM, that can't be changed.
So if you want to install two Peoplesoft applications in the same database. Then we will get error because with the same name schema cant be exist in same database.
So what we does earlier Oracle 12C, we need to create physical database which use our separate memory and hardware.

But using Oracle 12C, instead of creating 2 physical database for each SYSADM schema, we can create virtual  database for each schema. And each virtual database behave like independent database and it will use same physical resource like SGA, PGA, and CPU (memory). 

So like same in Oracle 12C, multitenat means, A container is a collection of schemas, objects, and related structures in a multitenant container database (CDB) that appears logically to an application as a separate database. Within a CDB, each container has a unique ID and name.

Container Architecture:-

CDB$ROOT- There is one root container which stores the Oracle supplied metadata like the PL/SQL               data dictionary packages and the common users.
PDB$SEED-  One seed Pluggable Database (PDB) which is a system supplied template which can                     be used to create new PDB’s.
 PDB-               It is pluggable database. Which can be plug and  unplug from container.

Characterstic of CDB:-

a)      Here is a separate SYSTEM and SYSAUX tablespace for the root container of the CDB and each PDB.
b)       Thee is only one UNDO tablespace for the entire CDB.
c)       There is only one set of control files and online redo logs files for the entire CDB. Individual PDB's have their own data files (which contain the user data), but do not have distinct redo logs or control files.
d)       We can create on default temporary tablespace for the entire CDB or each PDB can have  its own additional temporary tablespaces
e)      There is only one set of background processes shared by the root and all PDBs
f)       Single network Administrator files like Listener.ora, tnsnames.ora and sqlnet.ora for an entire CDB.ALL PDB use the same file.
g)       There is a Single SGA shared by all PDB’s.
h)       When the CDB is shut down then all PDB’s are also automatically shut down.
i)        When the CDB is open then we can change the open mode of individual PDBs via ALTER PLUGGABLE DATABASE SQL Statement.


  1. srinivas kotagiri..............

    nice explainAtion piyush,its very usefull.

  2. srinivas kotagiri..............

    nice explainAtion piyush,its very usefull.