SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
info@ordix.de www.ordix.de
DOAG Websession
8. Juli 2022
Markus Flechtner
Container Only –
Neue Features für
Multitenant in Oracle 21c
 Diplom-Mathematiker
 Oracle seit 1990
 Entwickler, Oracle-Fieldsupport, DBA, Consultant
 Schwerpunkte
 Hochverfügbarkeit
 Migrationen und Upgrades
 Twitter @markusdba
 Blog markusdba.de|.net
 DOAG-Themenverantwortlicher "OpenSource-Datenbanken"
Markus Flechtner – mfl@ordix.de
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 2
 Vorab …
 Upgrade & Migration
 Resource Management & Sicherheit
 Grid Infrastructure & RAC
 DataGuard
 Verschiedenes
 Zusammenfassung & Links
Agenda
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 3
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 4
Oracle Database 21c ist ein Innovation Release
 Ziel: Testen der neuen Features
 Nicht: Einsatz in der Produktion
 Support (21c):
 Premier Support bis Ende April 2024
 Kein Extended Support
 Zum Vergleich: aktuelles Long Term Support Release 19c
 Premier Support bis Ende April 2024
 Anschließend Extended Support
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 5
Oracle Database 21c - Verfügbarkeit
 Oracle Database 21c ist nur verfügbar für
 Linux x86-64bit
 Windows 64bit
 HP-UX
 Für Solaris, AIX und zLinux ist "Oracle 23c“ (*) das nächste Release
(*) Offiziell „the next Long Term Release, currently targeted for release in 2023”
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 6
Abschied von der Non-CDB-Architektur
 Mit Oracle 21c gibt es nur noch Container-Datenbanken ("Multitenant-Datenbanken")
 Migration in die CDB-Architektur im Rahmen des Upgrades
 Besser: Wechsel in die CDB-Architektur mit Oracle 19c
 Vorab …
 Upgrade & Migration
 Resource Management & Sicherheit
 Grid Infrastructure & RAC
 DataGuard
 Verschiedenes
 Zusammenfassung & Links
Agenda
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 7
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 8
Upgrade & Migration
 Auto-Upgrade
 "Replay-Upgrade"
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 9
Auto-Upgrade
 Das empfohlene Werkzeug für Migrationen und Upgrades
 Verfügbar seit 2019
 Download der aktuellen Version via My Oracle Support – MOS-Note 2485457.1
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 10
Auto-Upgrade - Funktionalität
 PreUpgrade Checks & FixUps
 Datenbank-Upgrade
 Nacharbeiten (z.B. Aktualisierung der Zeitzonen-Informationen)
 Migration einer Non-CDB in eine PDB
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 11
Auto-Upgrade – Upgrade & Migration einer 19c-Non-CDB in eine 21c-PDB
 Vorher: 21c-Container-Datenbank anlegen
 Auto-Upgrade
 Einhängen der Non-CDB als PDB ("Plug-In")
 Upgrade der PDB nach Oracle 21c
Konfigurationsdatei
Auto-Upgrade
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 12
global.autoupg_log_dir=/home/oracle/testconv
testconv1.dbname=NCDB
testconv1.start_time=NOW
testconv1.source_home=/u00/app/oracle/product/19c
testconv1.target_home=/u00/app/oracle/product/21c
testconv1.sid=NCDB
testconv1.log_dir=/home/oracle/testupgrade
testconv1.upgrade_node=localhost
testconv1.target_version=21.4
testconv1.target_cdb=TESTCDB
testconv1.target_pdb_copy_option=file_name_convert=
'('/u01/oradata/NCDB','/u01/oradata/TESTCDB/TPDB')
testconv1.target_pdb_name=TPDB
[..]
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 13
"Replay-Upgrade" beim Einhängen ("Plug-In")
 Automatisches Upgrade einer 19c-PDB
 Automatische Migration einer Non-CDB in eine PDB
 Das erstmalige Öffnen dauert dann etwas länger 
 „Einhängen, öffnen, warten, …“
Auszug aus der alert.log-Datei:
"Replay-Upgrade" beim Einhängen ("Plug-In")
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 14
2022-06-19T12:51:03.882993+02:00
DEMONCDB(6):Starting Upgrade on PDB Open
[...]
2022-06-19T12:51:08.084897+02:00
DEMONCDB(6):alter pluggable database application APP$CDB$CATALOG begin upgrade
'19.0.0.0.0' to '21.0.0.0.0.partial' on error capture
DEMONCDB(6):Completed: alter pluggable database application APP$CDB$CATALOG begin
upgrade
'19.0.0.0.0' to '21.0.0.0.0.partial' on error capture
[...]
DEMONCDB(6):SERVER ACTION=NONCDB_TO_PDB id=: Converted non-CDB to PDB in release
21.3.0.0.0 Container=DEMONCDB Id=6
DEMONCDB(6):alter pluggable database application app$cdb$pdbonly$ncdbtopdb end
upgrade
DEMONCDB(6):Completed: alter pluggable database application
app$cdb$pdbonly$ncdbtopdb end upgrade
2022-06-19T13:43:28.073067+02:00
DEMONCDB(6):Finished Conversion from non-CDB on PDB Open
[..]
"Replay-Upgrade" wird durch zwei Parameter bzw. DB-Eigenschaften kontrolliert:
"Replay-Upgrade" - Parameter
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 15
alter database property set UPGRADE_PDB_ON_OPEN='true'
Completed: alter database property set UPGRADE_PDB_ON_OPEN='true'
alter database property set CONVERT_NONCDB_ON_OPEN='true'
Completed: alter database property set CONVERT_NONCDB_ON_OPEN='true
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 16
"Replay-Upgrade" beim Einhängen ("Plug-In")
 Nach dem erstmaligen Öffnen der PDB muss utlrp.sql ausgeführt werden, damit die Komponenten
in DBA_REGISTRY "valid" werden
 "Replay-Upgrade" funktioniert nur bei Upgrades, nicht bei Patches
 "datapatch" für die PDBs ist immer noch nötig
 Vorab …
 Upgrade & Migration
 Resource Management & Sicherheit
 Grid Infrastructure & RAC
 DataGuard
 Verschiedenes
 Zusammenfassung & Links
Agenda
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 17
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 18
Mandatory Profile (1)
 Profil für alle Benutzer in der CDB („Common Mandatory Profile“)
 Wird in CDB$ROOT angelegt
 Zusätzlich Parameter MANDATORY_USER_PROFILE setzen
 Darf nur folgende Einschränkungen enthalten
 PASSWORD_VERIFY_FUNCTION
 PASSWORD_GRACE_TIME
 Man kann den Parameter auch auf PDB-Ebene setzen (=> übersteuert CDB-Einstellungen)
 Auf PDB-Ebene können weitere Profile (Einschränkungen) existieren
 .. Die schärfere Einschränkung gewinnt
Mandatory Profile (2)
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 19
SQL> CREATE MANDATORY PROFILE
2 C##ALL_USER_PROFILE
3 LIMIT PASSWORD_VERIFY_FUNCTION
4 ora12c_stig_verify_function
5 CONTAINER=ALL;
Profile created.
SQL> ALTER SYSTEM SET mandatory_user_profile='C##ALL_USER_PROFILE';
System altered.
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 20
Database-Resident-Connection-Pool auf PDB-Ebene
 Neuer Parameter: ENABLE_PER_PDB_DRCP
True Für jede PDB gibt es einen separaten Connection
Pool, Einstellungen können individuell per PDB
gemacht werden
False Gemeinsamer Pool für alle PDBs Default
SQL> alter system set ENABLE_PER_PDB_DRCP=true;
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 21
DB Nest
 Isolierung von Resourcen auf dem Datenbank-Server
 Datenbank-Instanzen untereinander
 Innerhalb einer CDB: Isolierung der Container (CDB$ROOT, PDBs …)
 Hierarchische Struktur: CDB im Parent Nest, einzelne PDBs in Child Nests
 Nutzung von Linux-Features (daher nur für Linux x86-64bit verfügbar)
 Namespaces
 Cgroups
 Secure Computing
 Prozesse innerhalb eines Namespaces (= eines Nestes) können nicht auf Prozesse anderer
Namespaces zugreifen
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 22
DB Nest - Übersicht
Quelle: https://docs.oracle.com/en/database/oracle/oracle-database/21/dbseg/dbnest.html#GUID-A19EBFF3-58D9-4385-9F87-E70BE1A38F29
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 23
DB Nest - Vorbereitungen
 Zusätzliche OS-Pakete erforderlich
 Nscd - Name Services Caching Daemon
 Ssd – System Security Services Daemon
 Listener: Dedicated Broker einrichten
 Eintrag in listener.ora
 Zur Aktivierung Listener durchstarten
DEDICATED_THROUGH_BROKER_LISTENER=ON
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 24
DB Nest – Notwendige Instanz-Parameter
 Für die Nutzung des Brokers
 DBNest aktivieren
 Statischer Parameter
 Nur die Werte NONE und RESOURCE_PDB_ALL erlaubt
 Anschließend die Instanz durchstarten
SQL> ALTER SYSTEM SET use_dedicated_broker=TRUE scope=both;
System altered.
SQL> ALTER SYSTEM SET dbnest_enable=resource_pdb_all scope=spfile;
System altered.
DB Nest – alert.log
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 25
[...]
2022-06-19T16:44:55.468015+02:00
DB Nest is enabled, SGA file deletion disabled.
Starting ORACLE instance (normal) (OS id: 25266)
2022-06-19T16:44:55.497281+02:00
Instance running inside DB Nest (ORA_DEMO21CA_DEMO21CA)
2022-06-19T16:44:55.501905+02:00
[...]
DEMOPDB(5):Creating (DEMOPDB) Nest for PDB(5)
2022-06-19T16:46:05.386947+02:00
[...]
DEMOPDB(5):DB Nest (PDB00005, 1102414643) open successful
2022-06-19T16:46:05.776135+02:00
DB Nest – Linux Namespaces
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 26
oracle@abel:/u00/app/oracle/product/21.6-ee/bin/ [DEMO21CA] lsns
NS TYPE NPROCS PID USER COMMAND
4026531836 pid 287 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr
LISTENER -inherit
4026531837 user 287 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr
LISTENER -inherit
4026531838 uts 289 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr
LISTENER -inherit
4026531839 ipc 289 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr
LISTENER -inherit
4026531840 mnt 287 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr
LISTENER -inherit
4026531993 net 289 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr
LISTENER -inherit
4026532248 user 1 6705 oracle dbnestinit PDB00003
4026532249 mnt 1 6705 oracle dbnestinit PDB00003
4026532250 pid 1 6705 oracle dbnestinit PDB00003
4026532251 user 1 6709 oracle dbnestinit PDB00005
4026532252 mnt 1 6709 oracle dbnestinit PDB00005
4026532253 pid 1 6709 oracle dbnestinit PDB00005
 Achtung mit SQL*Plus
 „sqlplus / as sysdba“ funktioniert nicht
  Password File verwenden
 „sqlplus sys/manager as sysdba“
 Neue Tools für DB Nest
 Beide Tools nicht dokumentiert
DB Nest – tools
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 27
oracle@abel:/u00/app/oracle/product/21.6-ee/bin/ [DEMO21CA] ls -l dbnest*
-rwxr-xr-x. 1 oracle oinstall 74344 Jul 27 2021 dbnest
-rwxr-x--x. 1 oracle oinstall 26368 Apr 20 11:55 dbnestinit
DB Nest – Tool dbnest
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 28
oracle@abel:/u00/app/oracle/product/21.6-ee/bin/ [DEMO21CA] dbnest -help
Usage : dbnest <command> [options]
List of options and commands.
[...]
update <nest> [options] Do required modifications to nest.
--cpu <cpu count> Number of cpus required for nest
--cpuids <list> Comma delimited cpuid range/list
e.g: 0,1-2 1-3,5 2-3 1-3,5-7 2,3
--cpu_excl <1|0> Alloc the CPUs exclusively or not
1 : alloc exclusive
0 : alloc shared (default)
--cpu_from_end <1|0> Start CPU allocation from the end
1 : alloc from end
0 : alloc from cpu0 (default)
--cpushares <cpushares> CPU shares for this nest
[...]
DB Nest – Tool dbnest
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 29
oracle@abel:/u00/app/oracle/product/21.6-ee/bin/ [DEMO21CA] dbnest list
--------------------------------------------------------------------------------
Id : Nest : Parent : : Tag : State
--------------------------------------------------------------------------------
1 : ORA_DEMO21CA_DEMO21CA : : ORA_DEMO21CA_DEMO21CA : OPEN
Net State :
Namespace State : (pid=0,cnid=4026531836,pnid=4026531836,no namespace,type=0x0)
Resources : (cpu=0)
Property enabled : resources
Seccomp status : (level=none)
FS Isolation : (disabled)
--------------------------------------------------------------------------------
2 : PDB00002 : ORA_DEMO21CA_DEMO21CA : PDB$SEED (uid=2429256) : OPEN
Net State :
Namespace State : (pid=0,cnid=4026531836,pnid=4026531836,no namespace,type=0x0)
Resources : (cpu=0)
Property enabled : resources
Seccomp status : (level=none)
FS Isolation : (disabled)
--------------------------------------------------------------------------------
[…]
--------------------------------------------------------------------------------
Number of active nest namespaces = 4
--------------------------------------------------------------------------------
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 30
DB Nest – Isolierung von Verzeichnissen – DBNEST_PDB_FS_CONF
 Mit dem Parameter DBNEST_PDB_FS_CONF kann spezifiert werden, welche Verzeichnisse innerhalb
eines Nest verfügbar (mounted) sein sollen
 Verweis auf Konfigurationsdatei
 Definition einer „Blacklist“
SQL> !cat /u00/app/oracle/nest/nest_blacklist.txt
DBNEST_NO_FS_ROOT_MODE
/bin
/usr/bin
SQL> ALTER SYSTEM SET
2 DBNEST_PDB_FS_CONF='/u00/app/oracle/nest/nest_blacklist.txt' SCOPE=spfile;
System altered.
 Vorab …
 Upgrade & Migration
 Resource Management & Sicherheit
 Grid Infrastructure & RAC
 DataGuard
 Verschiedenes
 Zusammenfassung & Links
Agenda
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 31
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 32
PDB als Cluster-Resource (1)
 Bislang waren PDBs keine Cluster-Resourcen
 via „crsctl status ressource“ nicht sichtbar
 „Workaround“: zusätzliche Services auf PDB-Ebene anlegen (für Applikationen)
 Services waren via „crsctl“ sichtbar
 Mit Oracle 21c sind PDBs Cluster-Resourcen
PDB als Cluster-Resource (2) - Beispiel
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 33
oracle@statler:~/ [MUPPETS1] crsctl status resource -t -w "TYPE = ora.pdb.type"
--------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------
ora.muppets.muppetpdb.pdb
2 ONLINE ONLINE statler STABLE
3 ONLINE ONLINE waldorf STABLE
--------------------------------------------------------------
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 34
PDB als Cluster-Resource (3) – Ergänzungen bei srvctl
 Neue Befehle bzw. Optionen für srvctl
 srvctl add pdb
 srvctl modify pdb
 srvctl config pdb
 srvctl start pdb
 srvctl status pdb
 srvctl stop pdb
 srvctl enable pdb
 srvctl disable pdb
 Neue PDBS (21c) werden automatisch als Cluster-Resource angelegt
PDB als Cluster-Resource (4) - Beispiel
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 35
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- --------------------- ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB2A READ WRITE NO
SQL> !srvctl stop pdb -db REMCDB -pdb PDB1
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- --------------------- ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
4 PDB2A READ WRITE NO
 Vorab …
 Upgrade & Migration
 Resource Management & Sicherheit
 Grid Infrastructure & RAC
 DataGuard
 Verschiedenes
 Zusammenfassung & Links
Agenda
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 36
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 37
Bisher
 DataGuard: „permanentes Recovery“
 Hot-Cloning einer PDB: Recovery der neuen PDB nach dem Kopieren der Datenbank-Dateien
 Ergebnis (beim Hot-Cloning einer CDB mit DataGuard):
 .. Und der MRP-Prozess stoppt
 Workarounds verfügbar
 Gilt ähnlich für Flashback einer PDB und PITR einer PDB
ORA-1153 an incompatible media recovery is active
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 38
PDB Side Recovery
 Oracle 21c erlaubt ein Recovery einer PDB zusätzlich zu einem laufenden DataGuard Recovery
 „PDB Side Recovery“
 „PDB Recovery Isolation“
  MRP läuft auch beim Hot-Cloning einer PDB weiter
 Mit Active DataGuard „alles vollautomatisch“
 Ohne Active DataGuard manuelle Schritte erforderlich
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 39
PDB Side Recovery – Ablauf mit Active DataGuard
 Szenario: Hot-Cloning einer PDB in einer DataGuard-Umgebung (21c / ADG)
1. Die PDB wird auf der Standby-Seite als „disabled“ angelegt. Damit ist sie vom normalen DataGuard-
Recovery ausgeschlossen.
2. Das Recovery der PDB (= Nachfahren der während des Kopierens angefallenen Transaktionen) erfolgt
in einer separaten Session („PDB Side Recovery“)
3. Die PDB wird für DataGuard „enabled“. Damit übernimmt der MRP-Prozess das Recovery der PDB.
PDB Side Recovery – Ablauf mit Active DataGuard
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 40
SQL> create pluggable database TESTPDB from DGPDB
2 file_name_convert=('DGPDB','TESTPDB');
Pluggable database created.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 DGPDB MOUNTED
4 TESTPDB MOUNTED
SQL> select process,status,sequence# from v$managed_standby where
2 process like 'MRP%';
PROCESS STATUS SEQUENCE#
--------- ------------ ----------
MRP0 APPLYING_LOG 20
PDB Side Recovery – Ablauf mit Active DataGuard – alert.log Standby
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 41
TESTPDB(4):Datafile #11 has been copied to the standby.
2021-11-10T21:17:31.873127+01:00
TESTPDB(4):PDB Side Media Recovery started for pdbid(4)
TESTPDB(4):.... (PID:7306): Managed Recovery starting Real Time Apply
[krsm.c:15901]
TESTPDB(4):max_pdb is 4
TESTPDB(4):.... (PID:7306): Media Recovery Waiting for T-1.S-20 (in transit)
[krsm.c:6191]
2021-11-10T21:17:31.949889+01:00
[…]
TESTPDB(4):.... (PID:7306): Side Recovery Complete [krds.c:1584]
2021-11-10T21:17:53.329342+01:00
all data files of pdbid 4 are brought online.
Started logmerger process
2021-11-10T21:17:53.361688+01:00
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 42
PDB Side Recovery – Ablauf ohne Active DataGuard
 Szenario: Hot-Cloning einer PDB in einer DataGuard-Umgebung (21c / ohne ADG)
 Die Dateien der PDB werden kopiert.
 Die PDB wird auf der ´Standby-Seite als “DISABLED AUTOMATIC RECOVERY” markiert
=> MRP läuft weiter
 DBA-Aktionen
 Recovery der Standby-PDB (“from service”)
 Recovery für die PDB aktivieren
PDB Side Recovery – Ablauf ohne Active DataGuard –Standby
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 43
SQL> select name,RECOVERY_STATUS from v$pdbs;
NAME RECOVERY_STATUS
---------- --------------------------
PDB$SEED ENABLED
DGPDB ENABLED
TESTPDB ENABLED
TESTPDB2 DISABLED AUTOMATIC RECOVER
SQL> select process,status,sequence# from v$managed_standby
2 where process like 'MRP%';
PROCESS STATUS SEQUENCE#
--------- ------------ ----------
MRP0 APPLYING_LOG 23
 Vorab …
 Upgrade & Migration
 Resource Management & Sicherheit
 Grid Infrastructure & RAC
 DataGuard
 Verschiedenes
 Zusammenfassung & Links
Agenda
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 44
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 45
Neuerungen beim PDB Point-in-Time-Recovery
 Point-in-Time-Recovery und Flashback einer PDB können jetzt über den Zeitpunkt einer Resetlogs-
Operation auf PDB-Ebene hinaus erfolgen
 Vorraussetzungen:
 Es ist kein Resetlogs auf Ebene CDB$ROOT erfolgt
 Flashback- und Redolog-Informationen sind verfügbar
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 46
Timezone-Support in DBCA
 (seit 12c) eine PDB kann in einer anderen Zeitzone laufen als der zugehörige Root-Container
CDB$ROOT
 Neu in 21c: die Zeitzone kann direkt beim Anlegen der PDB mittels dbca angegeben werden
 Analog bei „-configurePluggableDatabase“
 Tip: keinen festen Offset „+02:00“ angeben, sondern die Region („Europe/Berlin“)
SQL> alter database set timezone='Europe/Rome';
oracle@abel:~/ [DEMO21CA] dbca -createPluggableDatabase -help
-createPluggableDatabase - Command to Create a pluggable database.
-pdbName <Pluggable database name>
[..]
[-pdbTimezone <Specify PDB specific timezone offset from UTC or timezone
region. +HH:MM | -HH:MM | Region >]
[..]
 Vorab …
 Upgrade & Migration
 Resource Management & Sicherheit
 Grid Infrastructure & RAC
 DataGuard
 Verschiedenes
 Zusammenfassung & Links
Agenda
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 47
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 48
Zusammenfassung
 "Replay Upgrade" erleichtert Upgrades und Migrationen
 PDB Side Recovery reduziert die manuellen Aktionen mit PDBs im DataGuard-Umfeld
 Im Cluster sind PDBs als Cluster-Resourcen sichtbar
 Oracle DB Nest
 Technisch interessanter Ansatz
 Spärlich dokumentiert
 Anscheinend eher “Technical Preview”
Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 49
Referenzen & weitere Informationen
 Oracle Database 21c Documentation
 "Learning Database 21c New Features"
 MOS-Note "PDB Side Recovery (Doc ID 2649208.1)"
 DB Nest
 zahlreiche Blog-Posts in https://mahmoudhatem.wordpress.com/
 Security Guide – Ch. 15: Securing and Isolating Resources Using DbNest
Vielen Dank für
Ihre Aufmerksamkeit
ORDIX AG
Aktiengesellschaft für Softwareentwicklung,
Schulung, Beratung und Systemintegration
Zentrale Paderborn
Karl-Schurz-Straße 19a
33100 Paderborn
Tel.: 05251 1063-0
Fax: 0180 1 67349 0
Seminarzentrum Wiesbaden
Kreuzberger Ring 13
65205 Wiesbaden
Tel.: 0611 77840-00
info@ordix.de
https://www.ordix.de/

Weitere ähnliche Inhalte

Ähnlich wie Container Only - Neue Features für Multitenant in Oracle 21c

Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
Steven Grzbielok
 

Ähnlich wie Container Only - Neue Features für Multitenant in Oracle 21c (20)

Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2
 
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenOracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
 
2020 oracle lizenznews
2020 oracle lizenznews2020 oracle lizenznews
2020 oracle lizenznews
 
Wechsel von Oracle Cloud Control 12c zu 13c #DOAG2016
Wechsel von Oracle Cloud Control 12c zu 13c #DOAG2016Wechsel von Oracle Cloud Control 12c zu 13c #DOAG2016
Wechsel von Oracle Cloud Control 12c zu 13c #DOAG2016
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
 
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
Alternativen des Betriebs von Weblogic mit Kubernetes/DockerAlternativen des Betriebs von Weblogic mit Kubernetes/Docker
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
 
Infrastructure Solution Day | Core
Infrastructure Solution Day | CoreInfrastructure Solution Day | Core
Infrastructure Solution Day | Core
 
DOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubDOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pub
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und Docker
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführung
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
 
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
 
System Center Configuration Manager with Azure, Intune and Application Manage...
System Center Configuration Manager with Azure, Intune and Application Manage...System Center Configuration Manager with Azure, Intune and Application Manage...
System Center Configuration Manager with Azure, Intune and Application Manage...
 
Was gibt es Neues im Docker-Universum
Was gibt es Neues im Docker-UniversumWas gibt es Neues im Docker-Universum
Was gibt es Neues im Docker-Universum
 
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 

Mehr von Markus Flechtner

Mehr von Markus Flechtner (20)

My SYSAUX tablespace is full, please
My SYSAUX tablespace is full, pleaseMy SYSAUX tablespace is full, please
My SYSAUX tablespace is full, please
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-Architektur
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?
 
OraChk
OraChkOraChk
OraChk
 
TFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorTFA - Trace File Analyzer Collector
TFA - Trace File Analyzer Collector
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please help
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für Einsteiger
 
Should I stay or should I go?
Should I stay or should I go?Should I stay or should I go?
Should I stay or should I go?
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle Database
 
New Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cNew Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21c
 
Oracle - Checklist for performance issues
Oracle - Checklist for performance issuesOracle - Checklist for performance issues
Oracle - Checklist for performance issues
 
Einführung in den SQL-Developer
Einführung in den SQL-DeveloperEinführung in den SQL-Developer
Einführung in den SQL-Developer
 
Oracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesOracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection Issues
 
Checklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsChecklist for Upgrades and Migrations
Checklist for Upgrades and Migrations
 
Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und GeschichteCodd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
 
Datenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
Datenbank-Selbstverwaltung - Das Oracle-Data-DictionaryDatenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
Datenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
 
Taming the PDB: Resource Management and Lockdown Profiles
Taming the PDB: Resource Management and Lockdown ProfilesTaming the PDB: Resource Management and Lockdown Profiles
Taming the PDB: Resource Management and Lockdown Profiles
 
Oracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerOracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für Einsteiger
 
Oracle Application Containers
Oracle Application ContainersOracle Application Containers
Oracle Application Containers
 

Container Only - Neue Features für Multitenant in Oracle 21c

  • 1. info@ordix.de www.ordix.de DOAG Websession 8. Juli 2022 Markus Flechtner Container Only – Neue Features für Multitenant in Oracle 21c
  • 2.  Diplom-Mathematiker  Oracle seit 1990  Entwickler, Oracle-Fieldsupport, DBA, Consultant  Schwerpunkte  Hochverfügbarkeit  Migrationen und Upgrades  Twitter @markusdba  Blog markusdba.de|.net  DOAG-Themenverantwortlicher "OpenSource-Datenbanken" Markus Flechtner – mfl@ordix.de Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 2
  • 3.  Vorab …  Upgrade & Migration  Resource Management & Sicherheit  Grid Infrastructure & RAC  DataGuard  Verschiedenes  Zusammenfassung & Links Agenda Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 3
  • 4. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 4 Oracle Database 21c ist ein Innovation Release  Ziel: Testen der neuen Features  Nicht: Einsatz in der Produktion  Support (21c):  Premier Support bis Ende April 2024  Kein Extended Support  Zum Vergleich: aktuelles Long Term Support Release 19c  Premier Support bis Ende April 2024  Anschließend Extended Support
  • 5. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 5 Oracle Database 21c - Verfügbarkeit  Oracle Database 21c ist nur verfügbar für  Linux x86-64bit  Windows 64bit  HP-UX  Für Solaris, AIX und zLinux ist "Oracle 23c“ (*) das nächste Release (*) Offiziell „the next Long Term Release, currently targeted for release in 2023”
  • 6. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 6 Abschied von der Non-CDB-Architektur  Mit Oracle 21c gibt es nur noch Container-Datenbanken ("Multitenant-Datenbanken")  Migration in die CDB-Architektur im Rahmen des Upgrades  Besser: Wechsel in die CDB-Architektur mit Oracle 19c
  • 7.  Vorab …  Upgrade & Migration  Resource Management & Sicherheit  Grid Infrastructure & RAC  DataGuard  Verschiedenes  Zusammenfassung & Links Agenda Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 7
  • 8. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 8 Upgrade & Migration  Auto-Upgrade  "Replay-Upgrade"
  • 9. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 9 Auto-Upgrade  Das empfohlene Werkzeug für Migrationen und Upgrades  Verfügbar seit 2019  Download der aktuellen Version via My Oracle Support – MOS-Note 2485457.1
  • 10. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 10 Auto-Upgrade - Funktionalität  PreUpgrade Checks & FixUps  Datenbank-Upgrade  Nacharbeiten (z.B. Aktualisierung der Zeitzonen-Informationen)  Migration einer Non-CDB in eine PDB
  • 11. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 11 Auto-Upgrade – Upgrade & Migration einer 19c-Non-CDB in eine 21c-PDB  Vorher: 21c-Container-Datenbank anlegen  Auto-Upgrade  Einhängen der Non-CDB als PDB ("Plug-In")  Upgrade der PDB nach Oracle 21c
  • 12. Konfigurationsdatei Auto-Upgrade Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 12 global.autoupg_log_dir=/home/oracle/testconv testconv1.dbname=NCDB testconv1.start_time=NOW testconv1.source_home=/u00/app/oracle/product/19c testconv1.target_home=/u00/app/oracle/product/21c testconv1.sid=NCDB testconv1.log_dir=/home/oracle/testupgrade testconv1.upgrade_node=localhost testconv1.target_version=21.4 testconv1.target_cdb=TESTCDB testconv1.target_pdb_copy_option=file_name_convert= '('/u01/oradata/NCDB','/u01/oradata/TESTCDB/TPDB') testconv1.target_pdb_name=TPDB [..]
  • 13. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 13 "Replay-Upgrade" beim Einhängen ("Plug-In")  Automatisches Upgrade einer 19c-PDB  Automatische Migration einer Non-CDB in eine PDB  Das erstmalige Öffnen dauert dann etwas länger   „Einhängen, öffnen, warten, …“
  • 14. Auszug aus der alert.log-Datei: "Replay-Upgrade" beim Einhängen ("Plug-In") Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 14 2022-06-19T12:51:03.882993+02:00 DEMONCDB(6):Starting Upgrade on PDB Open [...] 2022-06-19T12:51:08.084897+02:00 DEMONCDB(6):alter pluggable database application APP$CDB$CATALOG begin upgrade '19.0.0.0.0' to '21.0.0.0.0.partial' on error capture DEMONCDB(6):Completed: alter pluggable database application APP$CDB$CATALOG begin upgrade '19.0.0.0.0' to '21.0.0.0.0.partial' on error capture [...] DEMONCDB(6):SERVER ACTION=NONCDB_TO_PDB id=: Converted non-CDB to PDB in release 21.3.0.0.0 Container=DEMONCDB Id=6 DEMONCDB(6):alter pluggable database application app$cdb$pdbonly$ncdbtopdb end upgrade DEMONCDB(6):Completed: alter pluggable database application app$cdb$pdbonly$ncdbtopdb end upgrade 2022-06-19T13:43:28.073067+02:00 DEMONCDB(6):Finished Conversion from non-CDB on PDB Open [..]
  • 15. "Replay-Upgrade" wird durch zwei Parameter bzw. DB-Eigenschaften kontrolliert: "Replay-Upgrade" - Parameter Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 15 alter database property set UPGRADE_PDB_ON_OPEN='true' Completed: alter database property set UPGRADE_PDB_ON_OPEN='true' alter database property set CONVERT_NONCDB_ON_OPEN='true' Completed: alter database property set CONVERT_NONCDB_ON_OPEN='true
  • 16. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 16 "Replay-Upgrade" beim Einhängen ("Plug-In")  Nach dem erstmaligen Öffnen der PDB muss utlrp.sql ausgeführt werden, damit die Komponenten in DBA_REGISTRY "valid" werden  "Replay-Upgrade" funktioniert nur bei Upgrades, nicht bei Patches  "datapatch" für die PDBs ist immer noch nötig
  • 17.  Vorab …  Upgrade & Migration  Resource Management & Sicherheit  Grid Infrastructure & RAC  DataGuard  Verschiedenes  Zusammenfassung & Links Agenda Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 17
  • 18. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 18 Mandatory Profile (1)  Profil für alle Benutzer in der CDB („Common Mandatory Profile“)  Wird in CDB$ROOT angelegt  Zusätzlich Parameter MANDATORY_USER_PROFILE setzen  Darf nur folgende Einschränkungen enthalten  PASSWORD_VERIFY_FUNCTION  PASSWORD_GRACE_TIME  Man kann den Parameter auch auf PDB-Ebene setzen (=> übersteuert CDB-Einstellungen)  Auf PDB-Ebene können weitere Profile (Einschränkungen) existieren  .. Die schärfere Einschränkung gewinnt
  • 19. Mandatory Profile (2) Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 19 SQL> CREATE MANDATORY PROFILE 2 C##ALL_USER_PROFILE 3 LIMIT PASSWORD_VERIFY_FUNCTION 4 ora12c_stig_verify_function 5 CONTAINER=ALL; Profile created. SQL> ALTER SYSTEM SET mandatory_user_profile='C##ALL_USER_PROFILE'; System altered.
  • 20. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 20 Database-Resident-Connection-Pool auf PDB-Ebene  Neuer Parameter: ENABLE_PER_PDB_DRCP True Für jede PDB gibt es einen separaten Connection Pool, Einstellungen können individuell per PDB gemacht werden False Gemeinsamer Pool für alle PDBs Default SQL> alter system set ENABLE_PER_PDB_DRCP=true;
  • 21. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 21 DB Nest  Isolierung von Resourcen auf dem Datenbank-Server  Datenbank-Instanzen untereinander  Innerhalb einer CDB: Isolierung der Container (CDB$ROOT, PDBs …)  Hierarchische Struktur: CDB im Parent Nest, einzelne PDBs in Child Nests  Nutzung von Linux-Features (daher nur für Linux x86-64bit verfügbar)  Namespaces  Cgroups  Secure Computing  Prozesse innerhalb eines Namespaces (= eines Nestes) können nicht auf Prozesse anderer Namespaces zugreifen
  • 22. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 22 DB Nest - Übersicht Quelle: https://docs.oracle.com/en/database/oracle/oracle-database/21/dbseg/dbnest.html#GUID-A19EBFF3-58D9-4385-9F87-E70BE1A38F29
  • 23. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 23 DB Nest - Vorbereitungen  Zusätzliche OS-Pakete erforderlich  Nscd - Name Services Caching Daemon  Ssd – System Security Services Daemon  Listener: Dedicated Broker einrichten  Eintrag in listener.ora  Zur Aktivierung Listener durchstarten DEDICATED_THROUGH_BROKER_LISTENER=ON
  • 24. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 24 DB Nest – Notwendige Instanz-Parameter  Für die Nutzung des Brokers  DBNest aktivieren  Statischer Parameter  Nur die Werte NONE und RESOURCE_PDB_ALL erlaubt  Anschließend die Instanz durchstarten SQL> ALTER SYSTEM SET use_dedicated_broker=TRUE scope=both; System altered. SQL> ALTER SYSTEM SET dbnest_enable=resource_pdb_all scope=spfile; System altered.
  • 25. DB Nest – alert.log Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 25 [...] 2022-06-19T16:44:55.468015+02:00 DB Nest is enabled, SGA file deletion disabled. Starting ORACLE instance (normal) (OS id: 25266) 2022-06-19T16:44:55.497281+02:00 Instance running inside DB Nest (ORA_DEMO21CA_DEMO21CA) 2022-06-19T16:44:55.501905+02:00 [...] DEMOPDB(5):Creating (DEMOPDB) Nest for PDB(5) 2022-06-19T16:46:05.386947+02:00 [...] DEMOPDB(5):DB Nest (PDB00005, 1102414643) open successful 2022-06-19T16:46:05.776135+02:00
  • 26. DB Nest – Linux Namespaces Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 26 oracle@abel:/u00/app/oracle/product/21.6-ee/bin/ [DEMO21CA] lsns NS TYPE NPROCS PID USER COMMAND 4026531836 pid 287 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr LISTENER -inherit 4026531837 user 287 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr LISTENER -inherit 4026531838 uts 289 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr LISTENER -inherit 4026531839 ipc 289 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr LISTENER -inherit 4026531840 mnt 287 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr LISTENER -inherit 4026531993 net 289 1979 oracle /u00/app/oracle/product/21.6-ee/bin/tnslsnr LISTENER -inherit 4026532248 user 1 6705 oracle dbnestinit PDB00003 4026532249 mnt 1 6705 oracle dbnestinit PDB00003 4026532250 pid 1 6705 oracle dbnestinit PDB00003 4026532251 user 1 6709 oracle dbnestinit PDB00005 4026532252 mnt 1 6709 oracle dbnestinit PDB00005 4026532253 pid 1 6709 oracle dbnestinit PDB00005
  • 27.  Achtung mit SQL*Plus  „sqlplus / as sysdba“ funktioniert nicht   Password File verwenden  „sqlplus sys/manager as sysdba“  Neue Tools für DB Nest  Beide Tools nicht dokumentiert DB Nest – tools Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 27 oracle@abel:/u00/app/oracle/product/21.6-ee/bin/ [DEMO21CA] ls -l dbnest* -rwxr-xr-x. 1 oracle oinstall 74344 Jul 27 2021 dbnest -rwxr-x--x. 1 oracle oinstall 26368 Apr 20 11:55 dbnestinit
  • 28. DB Nest – Tool dbnest Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 28 oracle@abel:/u00/app/oracle/product/21.6-ee/bin/ [DEMO21CA] dbnest -help Usage : dbnest <command> [options] List of options and commands. [...] update <nest> [options] Do required modifications to nest. --cpu <cpu count> Number of cpus required for nest --cpuids <list> Comma delimited cpuid range/list e.g: 0,1-2 1-3,5 2-3 1-3,5-7 2,3 --cpu_excl <1|0> Alloc the CPUs exclusively or not 1 : alloc exclusive 0 : alloc shared (default) --cpu_from_end <1|0> Start CPU allocation from the end 1 : alloc from end 0 : alloc from cpu0 (default) --cpushares <cpushares> CPU shares for this nest [...]
  • 29. DB Nest – Tool dbnest Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 29 oracle@abel:/u00/app/oracle/product/21.6-ee/bin/ [DEMO21CA] dbnest list -------------------------------------------------------------------------------- Id : Nest : Parent : : Tag : State -------------------------------------------------------------------------------- 1 : ORA_DEMO21CA_DEMO21CA : : ORA_DEMO21CA_DEMO21CA : OPEN Net State : Namespace State : (pid=0,cnid=4026531836,pnid=4026531836,no namespace,type=0x0) Resources : (cpu=0) Property enabled : resources Seccomp status : (level=none) FS Isolation : (disabled) -------------------------------------------------------------------------------- 2 : PDB00002 : ORA_DEMO21CA_DEMO21CA : PDB$SEED (uid=2429256) : OPEN Net State : Namespace State : (pid=0,cnid=4026531836,pnid=4026531836,no namespace,type=0x0) Resources : (cpu=0) Property enabled : resources Seccomp status : (level=none) FS Isolation : (disabled) -------------------------------------------------------------------------------- […] -------------------------------------------------------------------------------- Number of active nest namespaces = 4 --------------------------------------------------------------------------------
  • 30. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 30 DB Nest – Isolierung von Verzeichnissen – DBNEST_PDB_FS_CONF  Mit dem Parameter DBNEST_PDB_FS_CONF kann spezifiert werden, welche Verzeichnisse innerhalb eines Nest verfügbar (mounted) sein sollen  Verweis auf Konfigurationsdatei  Definition einer „Blacklist“ SQL> !cat /u00/app/oracle/nest/nest_blacklist.txt DBNEST_NO_FS_ROOT_MODE /bin /usr/bin SQL> ALTER SYSTEM SET 2 DBNEST_PDB_FS_CONF='/u00/app/oracle/nest/nest_blacklist.txt' SCOPE=spfile; System altered.
  • 31.  Vorab …  Upgrade & Migration  Resource Management & Sicherheit  Grid Infrastructure & RAC  DataGuard  Verschiedenes  Zusammenfassung & Links Agenda Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 31
  • 32. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 32 PDB als Cluster-Resource (1)  Bislang waren PDBs keine Cluster-Resourcen  via „crsctl status ressource“ nicht sichtbar  „Workaround“: zusätzliche Services auf PDB-Ebene anlegen (für Applikationen)  Services waren via „crsctl“ sichtbar  Mit Oracle 21c sind PDBs Cluster-Resourcen
  • 33. PDB als Cluster-Resource (2) - Beispiel Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 33 oracle@statler:~/ [MUPPETS1] crsctl status resource -t -w "TYPE = ora.pdb.type" -------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------- Cluster Resources -------------------------------------------------------------- ora.muppets.muppetpdb.pdb 2 ONLINE ONLINE statler STABLE 3 ONLINE ONLINE waldorf STABLE --------------------------------------------------------------
  • 34. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 34 PDB als Cluster-Resource (3) – Ergänzungen bei srvctl  Neue Befehle bzw. Optionen für srvctl  srvctl add pdb  srvctl modify pdb  srvctl config pdb  srvctl start pdb  srvctl status pdb  srvctl stop pdb  srvctl enable pdb  srvctl disable pdb  Neue PDBS (21c) werden automatisch als Cluster-Resource angelegt
  • 35. PDB als Cluster-Resource (4) - Beispiel Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 35 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------------------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB2A READ WRITE NO SQL> !srvctl stop pdb -db REMCDB -pdb PDB1 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------------------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 MOUNTED 4 PDB2A READ WRITE NO
  • 36.  Vorab …  Upgrade & Migration  Resource Management & Sicherheit  Grid Infrastructure & RAC  DataGuard  Verschiedenes  Zusammenfassung & Links Agenda Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 36
  • 37. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 37 Bisher  DataGuard: „permanentes Recovery“  Hot-Cloning einer PDB: Recovery der neuen PDB nach dem Kopieren der Datenbank-Dateien  Ergebnis (beim Hot-Cloning einer CDB mit DataGuard):  .. Und der MRP-Prozess stoppt  Workarounds verfügbar  Gilt ähnlich für Flashback einer PDB und PITR einer PDB ORA-1153 an incompatible media recovery is active
  • 38. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 38 PDB Side Recovery  Oracle 21c erlaubt ein Recovery einer PDB zusätzlich zu einem laufenden DataGuard Recovery  „PDB Side Recovery“  „PDB Recovery Isolation“   MRP läuft auch beim Hot-Cloning einer PDB weiter  Mit Active DataGuard „alles vollautomatisch“  Ohne Active DataGuard manuelle Schritte erforderlich
  • 39. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 39 PDB Side Recovery – Ablauf mit Active DataGuard  Szenario: Hot-Cloning einer PDB in einer DataGuard-Umgebung (21c / ADG) 1. Die PDB wird auf der Standby-Seite als „disabled“ angelegt. Damit ist sie vom normalen DataGuard- Recovery ausgeschlossen. 2. Das Recovery der PDB (= Nachfahren der während des Kopierens angefallenen Transaktionen) erfolgt in einer separaten Session („PDB Side Recovery“) 3. Die PDB wird für DataGuard „enabled“. Damit übernimmt der MRP-Prozess das Recovery der PDB.
  • 40. PDB Side Recovery – Ablauf mit Active DataGuard Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 40 SQL> create pluggable database TESTPDB from DGPDB 2 file_name_convert=('DGPDB','TESTPDB'); Pluggable database created. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 DGPDB MOUNTED 4 TESTPDB MOUNTED SQL> select process,status,sequence# from v$managed_standby where 2 process like 'MRP%'; PROCESS STATUS SEQUENCE# --------- ------------ ---------- MRP0 APPLYING_LOG 20
  • 41. PDB Side Recovery – Ablauf mit Active DataGuard – alert.log Standby Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 41 TESTPDB(4):Datafile #11 has been copied to the standby. 2021-11-10T21:17:31.873127+01:00 TESTPDB(4):PDB Side Media Recovery started for pdbid(4) TESTPDB(4):.... (PID:7306): Managed Recovery starting Real Time Apply [krsm.c:15901] TESTPDB(4):max_pdb is 4 TESTPDB(4):.... (PID:7306): Media Recovery Waiting for T-1.S-20 (in transit) [krsm.c:6191] 2021-11-10T21:17:31.949889+01:00 […] TESTPDB(4):.... (PID:7306): Side Recovery Complete [krds.c:1584] 2021-11-10T21:17:53.329342+01:00 all data files of pdbid 4 are brought online. Started logmerger process 2021-11-10T21:17:53.361688+01:00
  • 42. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 42 PDB Side Recovery – Ablauf ohne Active DataGuard  Szenario: Hot-Cloning einer PDB in einer DataGuard-Umgebung (21c / ohne ADG)  Die Dateien der PDB werden kopiert.  Die PDB wird auf der ´Standby-Seite als “DISABLED AUTOMATIC RECOVERY” markiert => MRP läuft weiter  DBA-Aktionen  Recovery der Standby-PDB (“from service”)  Recovery für die PDB aktivieren
  • 43. PDB Side Recovery – Ablauf ohne Active DataGuard –Standby Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 43 SQL> select name,RECOVERY_STATUS from v$pdbs; NAME RECOVERY_STATUS ---------- -------------------------- PDB$SEED ENABLED DGPDB ENABLED TESTPDB ENABLED TESTPDB2 DISABLED AUTOMATIC RECOVER SQL> select process,status,sequence# from v$managed_standby 2 where process like 'MRP%'; PROCESS STATUS SEQUENCE# --------- ------------ ---------- MRP0 APPLYING_LOG 23
  • 44.  Vorab …  Upgrade & Migration  Resource Management & Sicherheit  Grid Infrastructure & RAC  DataGuard  Verschiedenes  Zusammenfassung & Links Agenda Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 44
  • 45. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 45 Neuerungen beim PDB Point-in-Time-Recovery  Point-in-Time-Recovery und Flashback einer PDB können jetzt über den Zeitpunkt einer Resetlogs- Operation auf PDB-Ebene hinaus erfolgen  Vorraussetzungen:  Es ist kein Resetlogs auf Ebene CDB$ROOT erfolgt  Flashback- und Redolog-Informationen sind verfügbar
  • 46. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 46 Timezone-Support in DBCA  (seit 12c) eine PDB kann in einer anderen Zeitzone laufen als der zugehörige Root-Container CDB$ROOT  Neu in 21c: die Zeitzone kann direkt beim Anlegen der PDB mittels dbca angegeben werden  Analog bei „-configurePluggableDatabase“  Tip: keinen festen Offset „+02:00“ angeben, sondern die Region („Europe/Berlin“) SQL> alter database set timezone='Europe/Rome'; oracle@abel:~/ [DEMO21CA] dbca -createPluggableDatabase -help -createPluggableDatabase - Command to Create a pluggable database. -pdbName <Pluggable database name> [..] [-pdbTimezone <Specify PDB specific timezone offset from UTC or timezone region. +HH:MM | -HH:MM | Region >] [..]
  • 47.  Vorab …  Upgrade & Migration  Resource Management & Sicherheit  Grid Infrastructure & RAC  DataGuard  Verschiedenes  Zusammenfassung & Links Agenda Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 47
  • 48. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 48 Zusammenfassung  "Replay Upgrade" erleichtert Upgrades und Migrationen  PDB Side Recovery reduziert die manuellen Aktionen mit PDBs im DataGuard-Umfeld  Im Cluster sind PDBs als Cluster-Resourcen sichtbar  Oracle DB Nest  Technisch interessanter Ansatz  Spärlich dokumentiert  Anscheinend eher “Technical Preview”
  • 49. Oracle 21c - Neue Features für Multitenant * DOAG-Websession * Markus Flechtner * Juli 2022 49 Referenzen & weitere Informationen  Oracle Database 21c Documentation  "Learning Database 21c New Features"  MOS-Note "PDB Side Recovery (Doc ID 2649208.1)"  DB Nest  zahlreiche Blog-Posts in https://mahmoudhatem.wordpress.com/  Security Guide – Ch. 15: Securing and Isolating Resources Using DbNest
  • 50. Vielen Dank für Ihre Aufmerksamkeit ORDIX AG Aktiengesellschaft für Softwareentwicklung, Schulung, Beratung und Systemintegration Zentrale Paderborn Karl-Schurz-Straße 19a 33100 Paderborn Tel.: 05251 1063-0 Fax: 0180 1 67349 0 Seminarzentrum Wiesbaden Kreuzberger Ring 13 65205 Wiesbaden Tel.: 0611 77840-00 info@ordix.de https://www.ordix.de/