=====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