=====Die Oracle Multitenant Architecture einsetzen - die wichtigsten Basics für die Praxis===== Ab Oracle 21 ein Muss! Oracle 19c letzte Version mit "normalen" Betriebsmodus! ====Lizenz==== Siehe dazu https://docs.oracle.com/en/database/oracle/oracle-database/19/dblic/database-licensing-information-user-manual.pdf auf Seite 11 => //"For all offerings, if you are not licensed for Oracle Multitenant, then you may have up to 3 user-created PDBs in a given container database at any time"// Bei jeder Option sind dann also 3 Plugable Datenbank pro DB in der Basis Lizenz enthalten. ---- ===== Wo bin ich ==== Das Nervtötende an der Umstellung auf die neue Architektur ist die ständige Frage wo bin ich und wer bin ich beim anmelden der DB auf traditionelle Weise. ==Ist das überhaupt eine Plugable Installation (vor v21)== sqlplus / as sysdba SHOW CON_NAME CDB$ROOT -- => Daraus folgt, man ist im Root und es ist einen Plugable DB -- Container anzeigen column NAME format a32 column OPEN_TIME format a32 SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM V$PDBS; -- wenn "no rows selected" keine Plugable DB Architektur NAME OPEN_MODE RES OPEN_TIME -------------------------------- ---------- --- -------------------------------- PDB$SEED READ ONLY NO 08-APR-22 12.39.14.865 PM +02:00 GPI READ WRITE NO 08-APR-22 12.37.28.774 PM +02:00 ==Wie eine heruntergefahrene Plugable starten== --Plugable starten ALTER PLUGGABLE DATABASE ans OPEN READ WRITE; --beim nächsten START automatisch wieder mounten ALTER PLUGGABLE DATABASE ans SAVE STATE; ==Mit der Container Datenbank verbinden== ALTER SESSION SET CONTAINER = ans; SHOW CON_NAME Als Json die Metadaten ausgeben: select JSON_ARRAY( json_object ( key 'name' value NAME , key 'open_mode' value OPEN_MODE , key 'open_time' value to_char(OPEN_TIME,'dd.mm.yyyy hh24:mi') , key 'creation_time' value to_char(CREATION_TIME,'dd.mm.yyyy hh24:mi') ) ) as json from v$PDBS; ---- ==== Quellen==== Oracle: * https://docs.oracle.com/en/database/oracle/oracle-database/19/multi/index.html