Oracle 12c – Multi-Tenant Databases — #STEM, #Oracle

by C. Michael Eliasz-Solomon

Oracle12c

Oracle 12c

Oracle’s newest database (version 12c) has many new features, the discussion of which are too big for a single blog article (or even a series of blogs). The substantial high-level bulleted list of new features is in the 12c New Features Manual . But the concepts and low level SQL language details show a much larger change then you might perceive.

Multitenant Database

The new paradigm shift, Multitenant Databases, will stop DBAs pretty quick, particularly in Windows where the installer creates a Container DB. Previous to 12c, all databases were Non-Container DBs. With 12c you can create a Non-Container DB or a Container DB. The Container DB can have zero, one, or more Pluggable DBs within. A Non-Container DB can never have a Pluggable DB. So that becomes an upfront database creation decision.

You can and you should read the Oracle Intro to Multitenant Databases .

I first relaized the Oracle Installer had created a container database for me when I went through the normal process of creating a database user using the same old techniques I always did and received an Oracle Error: ORA-65096. WHAM, I slammed right into the new paradigm without me even knowing it existed. The error description and the necessary action introduced to another part of the Multitenant Database paradigm: Comon User vs. Local User. That quickly led to Containers. Of course, with any new features, comes an array of new database schema tables like, v$pdbs for example. You will also probably use a new Sql*Plus command a LOT: SHOW CON_NAME to know what container (root or pluggable database) you are connected to. Some DBA commands must be done in the root container (CDB$ROOT). Your pluggable databases (in Windows) will be by default: PDB$SEED and PDBORCL. Every container database has precisely one seed pluggable database from which all pluggable databases are created from.

This paradigm shift will be  seriously disorienting feeling to long time DBAs, especially if were not aware this was coming. Fortunately, there are many DBA bloggers out there sharing their 12c experiences. They were a help for me to gather the necessary jargon. But it was not until I discovered that Oracle had created a tutorial on Multitenant Databases and I had spent an hour or two playing with the tutorial on my newly created sandbox database (on Windows) which was by default a Container DB. This tutorial is an excellent way to jump start your understanding of the new paradigm.

By the way, I think either the default should be a NON-CONTAINER DB (so you are backwards compatible) or the Oracle Intsaller needs to make it clear that a CONTAINER DB will require new DBA processes (i.e. a learning curve) and give you an OVERT option to create a NON-CONTAINER DB for backwards compatibility.

Conclusion

Read the Oracle Introduction to Multitenant Databases to understand the concepts. Then immediately work your way through the tutorial in a test database that is a Container DB. Ultimately, I think Container DBs are the way to go. I think this is what you want to do to implement a CLOUD or in a Virtualized Environment.

About these ads

Tell Me Your Thoughts ...

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 412 other followers

%d bloggers like this: