Skip to content

internals

12c Multitenant internals: PDB_PLUG_IN_VIOLATIONS

By Franck Pachot . In the previous post https://www.dbi-services.com/blog/12c-multitenant-internals-pdb-replay-ddl-for-common-users I’ve done some DDL on a common user to show how this is replayed later for PDBs that were not opened at that time. But what happens when one of the DDL fails on one PDB? PDB$LASTREPLAY In the last post, the C##USER1 common user was created and all pluggable databases… 

12c Multitenant internals: PDB replay DDL for common users

By Franck Pachot . 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… 

Multitenant internals: INT$ and INT$INT$ views

By Franck Pachot . 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… 

Multitenant dictionary: what is consolidated and what is not

By Franck Pachot . The documentation says that for Reduction of duplication and Ease of database upgrade the Oracle-supplied objects such as data dictionary table definitions and PL/SQL packages are represented only in the root. Unfortunately, this is only partly true. System PL/SQL packages are only in root but system table definition are replicated into all PDBs. This post is… 

12c Multitenant Internals: VPD for V$ views

By Franck Pachot . I described in an earlier post on AWR views how the dictionary views were using metadata and object links to show information from other containers. But this mechanism cannot work for fixed views (aka V$) because they don’t have their definition in the dictionary. The big difference is that most of V$ views are available long… 

What is in a transportable tablespace dumpfile?

By Franck Pachot . On 31st of May in Düsseldorf, at DOAG Datenbank, I’ll talk about transportable tablespaces and pluggable databases. Both methods are transporting data physically, the difference is in the transport of the metadata, which can be more flexible when transported logically, as with TTS, but faster when transported physically with PDB. I have a lot of demos… 

Oracle 12cR2: AWR views in multitenant

By Franck Pachot . In a previous post I explained how the AWR views have changed between 12.1.0.1 and 12.1.0.2 and now in 12.2.0.1 they have changed again. This is a good illustration of multitenant object link usage. What’s new in 12cR2 is the ability to run AWR snapshots at CDB or PDB level. I really think that it makes… 

Multitenant internals – Summary

By Franck Pachot . Today at UKOUG TECH16 conference I’m presenting the internals of the new multitenant architecture: 12c Multitenant: Not a Revolution, Just an Evolution. My goal is to show how it works, that metadata links and object links are not blind magic. Here are the links to the blog posts I’ve published about multitenant internals. The dictionary separation,… 

Multitenant internals: object links on fixed tables

By Franck Pachot . The previous post partly answered to the original question (why an object link to V$SESSION is refreshed only every 30 seconds): recursive queries on shared=object views. Now let’s see what is different with fixed tables. Disclaimer: this is research only. Don’t do that anywhere else than a lab. This is implicit when the title is ‘internals’.… 

Multitenant internals: how object links are parsed/executed

By Franck Pachot . I had a comment on object links internals when creating a sharing=object view on GV$SESSION. Before posting about this specific case, I realized that I’ve never explained how a query on an object link is run on the CDB$ROOT container. Data link testcase Here is how I create the DEMOT table and DEMOV view as object… 

12c Multitenant internals: AWR tables and views

By Franck Pachot . I received a question about multitenant. AWR tables are often raised as an example of Object Links because automatic workload repository is stored only in CDB$ROOT. However, neither the views DBA_HIST… nor the tables WRH$_… are defined as Object Link. Let’s explain on an example: DBA_HIST_SYSSTAT I’ll talk about all those multitenant internals in DOAG 2016… 

Oracle multitenant dictionary: upgrade

By Franck Pachot . This is a second part of the previous post about metadata link. I’ve shown how a sharing=metadata function becomes a sharing=none function when it is changed in the pdb – i.e when not having the same DDL, not having a different signature. Here is another experimentation doing the opposite: change the function in root and see…