Infrastructure at your Service

multitenant Archives - Blog dbi services

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
Franck Pachot

Bequeath connect to PDB: set container in logon trigger?

By | Database Administration & Monitoring, Oracle | No Comments

There are little changes when you go to multitenant architecture and one of them is that you must connect with a service name. You cannot connect directly to a PDB with a beaqueath (aka local) connection. This post is about a workaround you may have in mind: create a common user and set a logon trigger to ‘set container’. I do not recommend it and you should really connect with a service. Here is an…

 
Read More
Franck Pachot

12cR2 Application Containers and Foreign Keys

By | Database management, Oracle | 2 Comments

Application Container brings a new way to share data among databases, and adds a new dimension to referential integrity. A foreign key in an application PDB can reference a row belonging to a root data link table. But then, should a delete on the root validate that there are no orpheans in the application PDBs? And what if those PDBs are closed at the time of this delete? Here is a small example.  

 
Read More
Franck Pachot

12cR2 PDB refresh as a poor-man standby?

By | Oracle | One Comment

Disclaimer My goal here is only to show that the Refreshable PDB feature works by shipping and applying redo, and then can synchronize a copy of the datafiles. I do not recommend to use it for disaster recovery in any production environment yet. Even if I’m using only supported features, those features were not designed for this usage, and are quite new and not stable yet. Disaster Recovery must use safe and proven technologies and…

 
Read More
Franck Pachot

12cR2 Cross-container DML – insert into container()

By | Database management | No Comments

Multitenant has been introduced in 12.1.0.1 with the goal to share resources but isolate data. However, having all PDBs in the same root may be convenient to manipulate data in multiple PDBs. In the first patchset, 12.1.0.2, a way to query cross-container has been introduced for the CDB administrator to see data in other containers. In the second release, 12.2.0.1, this goes further with the introduction of Application Containers and cross-PDB DML. Currently, not all…

 
Read More