Infrastructure at your Service

multitenant Archives - Blog dbi services

Franck Pachot

Unplug an Encrypted PDB (ORA-46680: master keys of the container database must be exported)

By | Oracle | No Comments

In the Oracle Database Cloud DBaaS you provision a multitenant database where tablespaces are encrypted. This means that when you unplug/plug the pluggable databases, you also need to export /import the encryption keys. You cannot just copy the wallet because the wallet contains all CDB keys. Usually, you can be guided by the error messages, but this one needs a little explanation and an example.  

 
Read More
Franck Pachot

12c Multitenant internals: PDB replay DDL for common users

By | Oracle | No Comments

In multitenant, you can create common Users, Roles, and Profiles. You create them in CDB$ROOT, with the CONTAINER=ALL clause (which is optional because it is the only possible value when connected to CDB$ROOT) but they are visible to all containers. As the goal of multitenant is to avoid to duplicate common metadata to all containers, You may think that they are visible through those magic metadata links. But that’s actually wrong: they are simply replicated…

 
Read More
Franck Pachot

Drop PDB including datafiles may keep files open

By | Oracle | No Comments

I like that Oracle drops the datafiles from the operating system when we remove them from the database (with drop tablespace or drop pluggable database) because I don’t like to have orphean files remaining in the filesystem. However, to ensure that space is reclaimed, we must be sure that Oracle did not leave a process with this file opened. Linux allows to drop an open file but then drops only the inode. The consequence is…

 
Read More
Franck Pachot

12c Multitenant Internals: compiling system package from PDB

By | Oracle | No Comments

When I explain the multitenant internals, I show that all metadata about system procedures and packages are stored only in CDB$ROOT and are accessed from the PDBs through metadata links. I take an example with DBMS_SYSTEM that has nothing in SOURCE$ of the PDB. But I show that we can compile it from the PDB. This is my way to prove that the session can access the system objects, internally switching the session to the…

 
Read More
Franck Pachot

Multitenant internals: INT$ and INT$INT$ views

By | Oracle | No Comments

This month, I’ll talk – with lot of demos – about multitenant internals at DOAG conference. The multitenant dictionary architecture starts with a simple idea: system metadata and data are in CDB$ROOT and user metadata and data are in PDB. And it could have been that simple. When a session connected to a PDB needs to read some system information, the session context is switched to the CDB$ROOT container and reads from CDB$ROOT SYS tablespace…

 
Read More
Franck Pachot

Wrong result with multitenant, dba_contraints and current_schema

By | Oracle | No Comments

Multitenant architecture is not such a big change and this is why I recommend it when you start a project in 12c or if you upgrade to 12.2 – of course after thoroughly testing your application. However, there is a point where you may encounter problems on dictionary queries, because it is really a big change internally. The dictionary separation has several side effects. You should test carefully the queries you do on the dictionary…

 
Read More
Franck Pachot

Active Data Guard services in Multitenant

By | Oracle | No Comments

A database (or the CDB in multitenant) registers its name as the default service. When a standby database is on the same server, or same cluster, you have no problem because this database name is the db_unique_name which is different between the primary and the standby(s). In multitenant, in addition to that, each PDB registers its name as a service. But the PDB name is the same in the primary and the standby database. This…

 
Read More
Franck Pachot

When PDB name conflicts with CDB name

By | Business Intelligence, Oracle | No Comments

Going to multitenant architecture is not a big change. The administration things (DBA, monitoring, backups) connect to the CDB and the application things connect to the PDB. Without the multitenant option, it is still recommended to go to the CDB architecture. The non-CDB is deprecated and the multitenant architecture brings interesting features. People often ask how to name the CDB and the PDB, especially when they have naming rules or policies in the company. My…

 
Read More