Multitenant Architecture / Plugable Database Concepts:-
Author: Deepak Mishra
Author: Deepak Mishra
Over a period of time oracle have given us various New Features in every Release they do. Here comes an another Release of Oracle Database and with over 500 new features of which widely acknowledged one is Oracle Plugable Database conceptually a Multitenant Architecture.
In earlier releases of Oracle , database term was widely used in conjunction with Single instance Database or a RAC Database but starting with Oracle 12c a new feature called plugable Database is introduced.
In simple words to start with i can name it a multiple databases plugged within one parent database.
While we take a deep drive in understanding what Oracle 12c Plugable Database feature and Multitenant Architecture is , i would like to start with understanding the same with a pictorial presentation:-
The overview architecture show above is termed as Multitenant Architecture. I will elobrate the Multitenant architecture in greater details in upcoming sections. First lets understand the concept and advantages of having such architecture.
Concept
In earlier releases of Oracle , database term was widely used in conjunction with Single instance Database or a RAC Database but starting with Oracle 12c a new feature called plugable Database is introduced.
In simple words to start with i can name it a multiple databases plugged within one parent database.
While we take a deep drive in understanding what Oracle 12c Plugable Database feature and Multitenant Architecture is , i would like to start with understanding the same with a pictorial presentation:-
The overview architecture show above is termed as Multitenant Architecture. I will elobrate the Multitenant architecture in greater details in upcoming sections. First lets understand the concept and advantages of having such architecture.
Concept
What is Multitenant Architecture?
Many times there has been a requirement to have multiple instances on same node for different purpose/requirement, or may be on on different hosts due to less available resources or application requirement. Having multiple instances requires memory, different processes, Backup Management etc for each instance on the same node or different and may also impact the performance during peak period due to unavailability of required resources.
The choice was very simple either increase the resources or move the database to less busier server.
Looking at various aspects mentioned above, introducing sometime where i can manage multiple databases from within one instance and can share the available resources (better Resource utilization) including flexible backup and recovery management option led to introduction of Multitenant Database.
Another major advantage is having a single point of administration.
Here the Oracle Database which is built on Multitenant foundation is called Container Database(CDB), and each container(Tenant) residing inside is called Plugable Database (PDB). Please refer to above diagram for more information.
As said One of the main reasons for Multitenant Architecture to be in place is "Database Consolidation". Consolidation of database on to a Single powerful server and a Single Oracle Instance, we achieve following benefits:
Cost reduction in terms of Product licensing and Hardware procurement as we require less number of processors and less memory compare to a Non-CDB environments.
Easier Database maintenance, Plugable Databases can easily be moved or copied locally or remotely across Physical machines in the network, Upgrading Operating System, Upgrading or Patching Database itself is a lot easier and "often" a one shot process, that greatly improves the availability.
Performance tuning becomes a lot easier as all PDBs in a CDB environment share same Hardware/Platform/Network resources like CPUs/Memory/OS/Bandwidth (i/o and network),etc..
For instance:- It is easy to tune and manage resources on single server then tuning different databases on different servers with different analysis and resource management. This consumes lot of efforts and require time. For Huge or Mid Sized organizations now a days "TIME is MONEY" and they really dont compromise on good H/w with best of the resources.
Since now we have understood the details of Multitenant Database, lets get bit more technical to understand the installation, implementation, administration and Security.
Details:
When you install Oracle Database 12C, you get a choice to create a NON-CDB database or Create a Container database. Lets assume we opt for creating a container database which will have all the metadata information and will also host the SYSTEM,SYSAUX and any other default tablespaces.
Later you get a option to create a plugable database while creating a container database or you can do it later by invoking dbca or using command line. With every new Plugable database, the SYSTEM and SYSAUX tablespaces will be created, and other tablespace to store user’s data and metadata inside the Plugable database. The SGA memory area and background processes are shared between all the new plugable databases. Each of the Container database can support roughly up to 250 pluggable databases. Each pluggable database in turn will used as a service name to get connected by any application.