This was first published on https://blog.dbi-services.com/oow14-day-4-internals-of-the-12c-multitenant-architecture-by-vit-spinka (2014-10-02)
Republishing here for new followers. The content is related to the the versions available at the publication date

OOW14 Day 4 – Internals of the 12c Multitenant Architecture by Vit Spinka

This is the session I preferred at Oracle Open World. Well, I’m writing that before going to @ludodba one and I’m sure I’ll have then two preferred sessions… So Vit Spinka has presented the internals of the new multitenant architecture. It’s always good to play with some internals things. Not only for the geeky fun of it but also because it helps understand how it work and address issues later.

I had investigated the metadata/object links in my blog post (and thanks to Vit for having referenced it during his presentation). But I learned from vit about what has changed in redo logs. In his case, the research on redo log internals is not just a curiosity. It’s mandatory for his job: he is the principal developer for Dbvisit Replicate and Dbvisit Replicate reads the redo logs: the MINER process reads them and transforms them to something that can be used by the APPLY process.

So I’ll not repeat what is available in his slides: http://vitspinka.cz/files/CON2282%20Internals%20of%20the%20Oracle%20Database%2012c%20Multitenant%20Architecture.pdf

Finally the redo is quite the same except that it adds the container id (it’s one byte only because we are limited to 252 PDB). Addressing the files is not very special as the pluggable is very similar to transportable tablespaces. Addressing the objects is a bit different because we can have same object id across several PDB, and this is the reason to introduce the container id in the redo. But that’s not so special.

The thing to remember about the new multitenant architecture is that: