12c Multitenant Architecture Explained With Mind Maps

12c Multitenant Architecture Explained With Mind Maps

November 30, 2016 Off By dianarobete

Oracle 12c is out for 3 years, as of this writing. Have you been upgrading your databases? If you haven’t, don’t sweat it, you are not the only one. There are lots of 10g and 11g databases out there.

Even if you haven’t upgraded the databases yet, there is one thing you need to upgrade soon: Your Skills.

You don’t need to become a 12c expert, however you need to understand some new terminologies and keywords that are used in the 12c language.

Why?

Because sooner or later the company you are working for, will upgrade the databases.
Because knowing 12c gives you more options, and opportunities in your career.
Because you want to be able to have a meaningful conversation with a group of DBAs about Oracle 12c.
Because you don’t want to become obsolete.

The purpose of this post is to introduce you to the concepts of 12c Multitenant Architecture. You can use this post as a refresher, intro or even as a study guide for OCP certification.

How is this post different from the other hundreds out there on 12c? You’ll notice something different – MIND MAPS.

I created these mind maps when I was studying for my OCP exam. I am sharing with you these mind maps. Feel free to click on the images, and print them.
I still use these mind maps as a refresher, because if I don’t work with 12c daily, I forget.

What’s covered today?

1. 12c Lingo – Words You Must Remember
2. What Does CDB Stand For And What Is It?
3. What Do I Need To Know About CDB Components?
4. What Entities Are Common Between The Root Container And The PDB?
5. What Is The Exclusive Content For A PDB?
6. What Is New For Users And Roles?

1. 12c Lingo – Words You Must Remember

If you want to feel like you actually have an idea of 12c (even if you don’t), these are some of the terminologies you want to familiarize yourself with:

  • Multitenant Architecture
  • CDB and PDB
  • root container or CDB$ROOT
  • seed container of PDB$SEED
  • user container or PDB
  • local and common users
  • local and common roles

2. What Does CDB Stand For And What Is It?

A Multitenant Container Database or CDB consists of zero, one or more pluggable databases. A CDB has a root container and a seed container by default.
A PDB or pluggable database is a collection of schema and non schema objects, and are different from a regular non-CDB database in that they don’t have their own background processes and memory.
PDBs don’t have their own instance, all PDBs under the CDB share the common CDB instance.

3. What Do I Need To Know About CDB Components?

The CDB has three types of containers:

  • the root container or CDB$ROOT
  • the seed container or PDB$SEED
  • the user container or PDB

The Root Container or CDB$ROOT is mandatory, and it contains the Oracle created metadata, common users and common roles. The central instance and background processes are also part of the root container.
No local users can be created in the root, only common users.

The Seed Container or PDB$SEED doesn’t store any user data. It is a template for creating PDBs. There is only one seed per CDB.

The User Container or Pluggable Database, contains user metadata and user data. You can have as many as 252 PDBs in a CDB.
The PDB has no background processes associated with it, or an SGA. The PDB shares the common CDB instance.
The PDB has its own data dictionary, which contains local metadata only. This information is not shared with another PDB.

SQL> select con_id,name, open_mode from v$containers;

    CON_ID NAME 			  OPEN_MODE
---------- ------------------------------ ----------
	 1 CDB$ROOT			  READ WRITE
	 2 PDB$SEED			  READ ONLY
	 3 PDB				  READ WRITE


12c Multitenant Architecture

4. What Entities Are Common Between The Root Container And The PDB?


CDB Common Entities

5. What Is The Exclusive Content For A PDB?


Exclusive PDB Content

6. What Is New For Users And Roles?

The users and roles setup in a CDB, is different compared to regular databases.
There are two types of users and roles in a CDB:

  • local users – these only exist in a specific PDB. A local user cannot connect to the root container, or another PDB
  • common users – these exist in the root container, and it is known in all the PDBs that belong to the CDB. It can login to any PDB in which has access to. SYS and SYSTEM are delivered common users.
  • local roles – are defined in a PDB, to be used only in that one PDB. The permissions granted to a local role are granted locally.
  • common roles – are defined in all the containers. They can contain permissions granted locally or commonly for all containers

  • Users And Roles In A CDB

    Stay tuned for more 12c awesomeness and mind maps!

    If you enjoyed this article, and would like to learn more about databases, please sign up below, and you will receive
    The Ultimate 3 Step Guide To Find The Root Cause Of The Slow Running SQL!

    –Diana