Im Zuge des Updates im Juni 2013 auf Oracle 12c wurde eine neue (optionale) Form der Datenbankarchitektur eingeführt. Bei der Multitenant Architektur können mehrere Pluggable Databases (PDBs) in einer mandantenfähigen Container Datenbank betrieben werden.
Neue Architektur und Nomenklatur
Das Konzept hat sich mit diesem Update verändert. Es gibt nun folgende Bestandteile:
- Pluggable Database (PDB): Die PDB ist eine für Anwendungen genutzte Datenbank, die unter Verwendung der neuen Architektur betrieben wird. Sie enthält alle Anwendungsdaten samt Data Dictionary, Datenbankbenutzer, DataGuard, Real Application Clusters, usw.
- Container Database (CDB): In diesen Container werden die PDBs eingeklinkt. Alle PDBs innerhalb einer CDB benutzen die gleiche Datenbankversion. Diese wird durch die CDB vorgegeben.
- Non-CDB: Die Non-CDB ist eine Oracle-Datenbank, die nach herkömmlicher Architektur unter Oracle 12c betrieben wird. Sie besitzt eine eigene Instanz mit Memory und Hintergrundprozesse, sowie Kontrolldatei, Redolog-Dateien und Undo Tablespaces.
- Seed-DB: Der Begriff Seed-DB steht für ein Datenbanktemplate, mit dem sehr schnell eine neue PDB erzeugt werden kann. Jede CDB enthält genau eine Seed-DB mit dem Namen PDB$SEED.
Oracle Multitenant ist eine kostenpflichtige Option, die zusätzlich zur Enterprise Edition erworben werden kann. Sie erlaubt aktuell maximal 252 aktive PDBs gleichzeitig in einer CDB. Single Tenant kann weiterhin verwendet werden mit der Möglichkeit eine PDB hinzuzufügen werden. Bei der Nutzung von Single Tenant gegenüber einer normalen Datenbank (non-CDB) Architektur ergeben sich die Unterschiede zuerst einmal im Footprint auf der Festplatte, denn bei einer Single Tenant Datenbank existieren mehr Dateien auf der entsprechenden Platte.
Aufteilung des Data Dictionary
Das Data Dictionary – Bestandteil der PDB – wird im Zuge des Updates aufgeteilt in die Bereiche:
- Statisch
- Anwendungsbezogen
Der statische Bereich ist Bestandteil der CDB und beinhaltet festbleibende Informationen, die für den Betrieb der eingesetzten Datenbank-Software benötigt werden. Diese Informationen werden somit während der Lebenszeit der Datenbank mit der jeweils gegebenen Version nicht mehr verändert. Jener Bereich wird auch „Root“ oder „Root-container“ genannt. Alle PDBs einer CDB teilen sich diesen statischen Bereich, eine Einbindung in den anwendungsbezogenen Bereich passiert mittels Verlinkung. Aus der Sicht einer PDB hat diese also ein komplettes Data Dictionary, auch wenn die nicht veränderlichen Teile aus der CDB stammen.
Der anwendungsbezogene Bereich ist Bestandteil der PDB. Die Inhalte können in diesem Bereich Veränderungen unterliegen.
Die neue Architektur Multitenant bietet einige Vorteile und Anwendungsmöglichkeiten
- Konsolidierung und Einsparung von Ressourcen: Prozesse, RAM und große Teile des Data Dictionaries sind nur einmal vorhanden. Dadurch können im Vergleich zur klassischen Architektur eines CDB wesentlich mehr Datenbanken auf einem System betrieben werden.
- Mobilität: „Unplug“ / „Plug“: Die kompletten PDBs lassen sich auch schnell und einfach von einer CDB in eine andere einbinden.
- Cloudfähigkeit: Die neue Architektur ist aufgrund der schnellen Bereitstellung neuer PDBs die ideale Basis für DBaaS (Database-as-a-Service). Bei DBaaS lässt sich schnell und unkompliziert eine neue PDB aus der Seed-DB erzeugen oder bestehende PDB klonen.
- Patchen/Migration: Patchen und Migration erfolgen auf der CDB-Ebene. Ist eine CDB einmal gepatcht, so sind automatisch alle darin enthaltenen PDBs auf dem neuesten Stand.
- Disaster Recovery, Backup & Recovery: Sowohl Data Guard als auch Backups werden zentral auf Ebene einer CDB eingerichtet. (Ein Restore eines Backups ist dennoch auch für einzelne PDBs möglich.)
Bildquellen
- PantherMedia B111297266: Test Bildquelle