The new database architecture of Oracle 12c introduces a different way we think about the internals of an Oracle Database. In this video we will deep dive into the Oracle 12c Multi-Tenancy architecture and learn about the database containers which are part of the CDB, the concept of pluggable databases as well as the two special containers (root and pdb seed) that are part of every Oracle CDB instance
- [Instructor] After we've got all of the highly important, but also high level stuff out of the way, let's roll up our sleeves and dig deeper into the Oracle 12c Multitenant Database architecture and understand its inner workings, which is precisely what you see on your screen right now. Take a moment to take it all in. It might look a bit complex and it's definitely different compared to the traditional non-multitenant Oracle architecture, the one we know from previous Oracle versions, such as Oracle 11g.
But don't worry, as we'll go over each one of these new architecture components and explain their purpose and functions to great details. Let's simplify and hide some of the more intricate details just for now. Let's start simple with a key Oracle 12c concept that you should be roughly familiar with by now and that's the CBD, or container database. The CDB can be thought of as a collection of one or more databases, or to be more precise, the CDB is a container that is the recipient of multiple databases which will be, well, contained inside it.
The CDB in the Oracle 12c Multitenant architecture has a container ID of zero. Databases contained inside the CDB will have their own container IDs starting with one. A CDB can include zero, one or many user-created pluggable databases or PDBs in short. These are the databases which are contained inside the CDB.
A PDB is a collection of schemas, tables and objects that appear to Oracle clients as a traditional, pre-12c non-CDB database. The stuff we all know from previous Oracle versions. Remember that all Oracle databases before 12c were non-CDBs. Applications will connect directly to a specific PDB inside our container database or CDB and via this way, they will access their objects, tables, store procedures and so on.
Databases inside the CDB are also sometimes referred to as simply containers. Don't be confused. Take a moment to understand the distinction between the terms CDB, or container database, used to describe the super database part of the multitenant architecture of Oracle 12c and these individual, separate container databases inside the big CDB itself.
I know, it can be confusing. Container database versus containers. A container database inside the CDB is either a pluggable database, or PDB for short, which is a user-created database that serves connecting applications or a special container known as the root container. The root container is a special collection of Oracle-supplied schemas, objects and metadata.
We'll talk more about the root container in it's own dedicated video later in this chapter. One of the PDBs inside the CDB is not any regular PDB, but a special PDB, known as the seed PDB. It serves a specific function when we're creating new PDBs. We'll learn more about the seed PDB later on in our chapter. Okay, are you with me so far? Let's recap quickly.
CDB is the name used for the combined collections of databases or containers and includes exactly one root container, exactly one seed PDB and zero or more user-created PDBs. DBAs, or users, create PDBs to store application data. An application object, such as tables, PL/SQL procedures, indices, schemas and so on.
A PDB can support a specific application such as a sales application or an ERP application. We can expect to have a PDB for our ERP application and a PDB for our sales application. No PDBs exist at the creation of this CDB during an Oracle installation. You add PDBs based on your business requirements. Remember, PDBs are the databases to which user sessions or applications connect to inside our CDB, or container database.
Going back to our first slide, hopefully things make a little bit more sense right now. We got our CDB and inside it you can see several containers, such as the root container, the seed PDB, as well as a few user-created PDBs. This slide also shows that each container database has certain physical Oracle files and table spaces which belong to it. We'll talk about these files during the next videos in our chapter.
- Pluggable databases (PDB)
- Enabling the new multitenant container database (CDB) architecture
- Connecting to the CDB
- Creating a new PDB
- Unplugging and cloning a PDB
- Backing up and restoring a PDB using RMAN
- Using the new In-Memory Column Store
- Using improved default column values
- Enabling and using extended 32K VARCHARs
- Exploring improved Top-N queries
- Using Oracle temporary undo
- New database partitioning features
- Using adaptive execution plans
- Restoring a table to a specific point in time using RMAN