SlideShare ist ein Scribd-Unternehmen logo
DATENBANK ARCHITEKTUR
GRUNDLAGEN
Markus Flechtner
§ eine international tätige Firma mit Schweizer
Wurzeln, die:
o spezialisiert ist auf Data Management und
Data Analysis, KI und Machine Learning
o mit Kunden und Partnern gemeinsam die
digitale Zukunft gestaltet, indem wir aus
Daten Chancen machen
o 720 Mitarbeitende an 15 Workspaces in
4 Ländern beschäftigt
WIR SIND …
2
DATEN SIND UNSERE DNA
Seit 1994 unterstützen wir Unternehmen dabei, Daten und neue Technologien
intelligent zu nutzen.
Dabei decken wir das gesamte Spektrum ab: von der Entwicklung und dem
Betrieb von Datenplattformen und Lösungen, der Veredelung von Daten bis hin
zur Beratung und zum Training.
UNSERE DATA VALUE CHAIN
Von DATEN zu CHANCEN
BEREITSTELLUNG
von Datenplattformen
REFINEMENT
von Daten
INTELLIGENTE
NUTZUNG von Daten
3
UNSERE WORKSPACES
RUMÄNIEN
ÖSTERREICH
DEUTSCHLAND
SCHWEIZ
6
HI!
MARKUS FLECHTNER
PRINCIPAL CONSULTANT
§ Trivadis Germany GmbH
§ Diplom-Mathematiker
§ Schwerpunkte
o Oracle Hochverfügbarkeit
o Database Upgrade + Migration
§ Kursreferent: RAC, New Features, Multitenant, PostgreSQL
§ Twitter @markusdba
§ Blog: markusdba.net|.de
§ Co-Autor des Buches "The Oracle DBA" (2016)
9 AGENDA
§ Grundbegriffe
§ Datenbank-Architektur bei Oracle
o Dateien
o Prozesse
o Speicherstrukturen
o Data Dictionary
§ Was passiert bei einer Transaktion?
§ Container-Datenbanken bei Oracle
§ Links
Das ist ein Einsteiger-Vortrag –
mit Verkürzungen, Vereinfachungen, etc.
10
GRUNDBEGRIFFE
11 GRUNDBEGRIFFE
§ Datenbank
§ Transaktion
§ ACID
§ MVCC
12 DATENBANK
§ Die Wikipedia sagt:
"Die wesentliche Aufgabe einer Datenbank ist es,
große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern
und
benötigte Teilmengen in unterschiedlichen, bedarfsgerechten
Darstellungsformen für Benutzer und Anwendungsprogramme
bereitzustellen."
13 RDBMS
§ RDBMS steht für "Relational Database Management System"
§ Daten werden Tabellen gespeichert
o In der DB-Theorie heißen "Tabellen" auch "Relationen"
§ Beispiele
o Oracle :)
o Microsoft SQL Server
o MariaDB / MySQL
o PostgreSQL
14 TRANSAKTION
§ Eine Transaktion ist "eine logische zusammenhängende Operation, die aus
mehreren Befehlen bestehen kann"
§ SELECT
§ INSERT
§ UPDATE
§ DELETE
15 TRANSAKTION – DAS KLASSISCHE BEISPIEL (ÜBERWEISUNG)
SQL> UPDATE konten
SET konto_stand=konto_stand - 100
WHERE konto_nummer=4711;
1 row updated.
SQL> UPDATE konten
SET konto_stand=konto_stand + 100
WHERE konto_nummer=4712;
1 row updated.
SQL> COMMIT;
Commit complete.
16 ACID
§ ACID = Anforderungen an Transaktionen in einem Datenbank-Management-
System (DBMS)
§ "ACID" steht für
o Atomicity = Eine Transaktion wird entweder ganz oder gar nicht ausgeführt
("either all-or-nothing")
o Consistency = Nach einer Transaktion sind die Daten logisch konsistent.
o Isolation = Transaktionen dürfen sich nicht gegenseitig beeinflussen
o Durability = Auch Systemfehler verändern die Daten nicht.
17 MVCC = MULTI-VERSION-CONCURRENCY-CONTROL
§ Konkurriende Zugriffe in einer Datenbank sollen ausgeführt werden können,
ohne sich gegenseitig zu blockieren oder die Konsistenz der Datenbank zu
gefährden
§ "readers don't bl Transaktion sieht nur das, was zu Beginn einer Transaktion
commited war
18 IMPLEMENTIERUNG
§ Alle gängigen aktuellen RDBMS implementieren diese Prinzipien (ACID, MVCC).
§ Die Mechanismen sind ähnlich.
§ Die Unterschiede liegen im Detail und in den Namen für die jeweiligen
Komponenten.
19
DATENBANK-ARCHITEKTUR
ORACLE
20
Und jetzt reduzieren wir dieses Bild mal auf das Wesentliche ..
21 THE BIG PICTURE (IMMER NOCH KOMPLIZIERT GENUG)
PMON SMON LGWR
….
Server-Prozess SGA
Shared Pool Buffer Cache Log Buffer
Daten-TS Undo-TS Redo1
Datenblöcke
(8 KB) Tablespaces mit Datendateien
Redo2
Redo3
Online-Redolog
PGA
LSNR
Control1
Control2
Control3
Control-
Dateien
Arc-Redo
Arc-Redo
Arc-Redo
Arc-Redo
Archivierte
Redolog-Dateien
22 DATENBANK & INSTANZ
§ Datenbank
o Eine Datenbank ist eine Menge von Dateien,
die sich auf der Festplatte befinden und
Daten speichern.
o Datenbankdateien können ohne eine
Instanz existieren.
§ Instanz
o Die Instanz besteht aus einem gemeinsam
genutzten Speicherbereich, der
sogenannten System Global Area (SGA),
und einer Reihe von Hintergrundprozessen.
o ORACLE_SID ("System Identifier")
Quelle: oracle.com
23 DATEIEN (1)
§ Datenbank-Dateien
(logisch aufgeteilt in Tablespaces)
§ Online Redo Log-Dateien
§ Archivierte Redolog-Dateien
§ Control-Dateien
§ Parameter-Datei
§ …
§ Und mehr
Quelle: oracle.com
24 DATEIEN (2)
§ Datenbank-Dateien
o Enthalten die eigentlichen Daten
o Sind in Blöcken organisiert (übliche Größe 8 KB)
o Sind in Tablespaces aufgeteilt ("Platz für Tabellen", logische Aufteilung der Daten)
§ Online-Redolog—Dateien ("Transaktionslog")
o Enthalten die Transaktionsdaten
o Sind in Gruppen organisiert und werden zyklisch beschrieben
§ Archivierte Redolog-Dateien
o Wichtig für's Recovery
Redo1 Redo2 Redo3
25 DATEIEN (3)
§ Control-Dateien
o Informationen über die physische Struktur der Datenbank (welche Dateien gehören zur DB?)
§ Konfigurationsdateien
o Parameter
26 SPEZIELLE TABLESPACES
§ SYSTEM
o Enthält die internen Tabellen (sog. Data Dictionary)
§ SYSAUX
o Enthält (z.B.) Tabellen für Performance-Auswertungen
§ UNDO
o Enthält das sog. "Before-Image" bei Updates, wichtig für Lesekonsistenz und
"Rollback"
§ TEMP
o Auslagerung von temporären Daten, z.B. bei großen Sortiervorgängen
27 WOFÜR BRAUCHEN WIR "UNDO"?
§ Bei einer ändernden Transaktion wird der alte Stand ("Before-Image") des Datensatzes im UNDO-
Tablespace abgespeichert.
§ Wird die Transaktion abgebrochen (Systemfehler oder "ROLLBACK"), dann wird der alte Stand auf Basis
der UNDO-Daten wiederhergestellt.
§ Wenn eine andere Transaktion den alten Stand der Daten lesen muss (Stichwort "Lesekonsistenz" / "read-
committed"), dann wird dieser alte Stand aus den UNDO-Daten rekonstruiert.
§ Andere RDBMS lösen dieses Problem anders, indem sie z.B. bei Änderungen eine komplett neue Version
eines Datensatzes anlegen (PostgreSQL)
o Jeder Datensatz hat Gültigkeitsinformationen (gültig von .. bis)
28 PROZESSE
§ Hintergrundprozesse
o Eine "Standard-Instanz" hat mehr als 30
Hintergrundprozesse
o Für das Grundverständnis sind folgende
Prozesse wichtig:
SMON System-Monitor
PMON Prozess-Monitor – räumt auf, wenn Datenbank-Sitzung abstürzen
LGWR Log-Writer – schreibt Transaktionsdaten in die Online-Redolog-Dateien
ARC0 Archiver – archiviert volle Online-Redolog-Dateien
DBWR Database Writer – schreib geänderte Blöcke (asynchron) in die Datenbank-Dateien
CKPT Checkpointer – löst einen Checkpoint aus (=> alle DB-Dateien konsistent)
Quelle: oracle.com
29 SPEICHERSTRUKTUREN
§ SGA = Shared Global Area (für alle Sitzungen)
o Buffer Cache (= Cache für DB-Inhalte)
o Shared Pool (Statement-Cache)
o Redolog-Buffer
(Transaktionsformationen)
o …
§ PGA = Program Global Area (pro Sitzung)
o Session-Variablen
o Speicherplatz zum Sortieren
o …
Quelle: oracle.com
30 DATA DICTIONARY ("SYSTEM CATALOG") (1)
§ Jede Datenbank verwaltet sich selbst über interne Tabellen ("Data Dictionary", "System Catalog")
§ Das Data Dictionary ist eine Sammlung von Tabellen in der Datenbank,
o .. die Metadaten zu den Applikationstabellen, Datenbank-Benutzern etc. enthält
o .. die mit SQL abgefragt werden können wie jede andere Tabelle in der Datenbank
o .. die vom RDBMS automatisch gepflegt wird
§ Beispiele
o DBA_USERS
o USER_TABLES
o USER_VIEWS
o ALL_TAB_COLUMNS
o …
31 DATA DICTIONARY ("SYSTEM CATALOG") (2)
§ Im Oracle Data Dictionary gibt es drei Ebenen
o DBA_* -
o ALL_* -
o USER_*
§ Beispiel
o USER_OBJECTS = meine Objekte
o ALL_OBJECTS = alle Objekte auf die ich Zugriff habe
o DBA_OBJECTS = der DBA sieht alle Objekte in der Datenbank
DBA_*
ALL_*
USER_*
32
WAS PASSIERT BEI EINER
TRANSAKTION?
33
SQL> UPDATE emp SET ename='KONG' WHERE ename='KING';
SQL> COMMIT;
§ Ein Benutzer meldet sich an der Datenbank an und führt folgende Befehle aus
§ Was passiert in der Datenbank?
Disclaimer: Alles etwas vereinfacht.
34
Datenbank
SCHRITT 1: DER BENUTZER MELDET SICH AN
1. Der Client schickt eine
Verbindungsanfrage an den
Server (Host, Port, DB, User,
Password)
2. Der Listener nimmt die Anfrage
entgegen.
3. Der Listener startet einen
Prozess auf dem DB-Server, der
sich mit der DB-Instanz
"verbindet"
4. Die weitere Kommunikation
Client ßà DB läuft dann über
den Server-Prozess.
PMON SMON LGWR
….
LSNR
Icon: FlatIcon.com / Voysla
Server-Prozess
SGA
1.
2.
3.
4.
35 SCHRITT 2: DER BENUTZER SETZT DEN UPDATE-BEFEHL AB
1. Der Benutzer setzt den
Update-Befehl ab
2. Der Befehl wird geparst
(Syntax korrekt? Gibt es die
Tabelle? Hat der Benutzer die
nötigen Rechte?) und ein
Execution Plan (wie komme
ich an die Daten?) wird
erzeugt.
3. Der Befehl + Execution Plan
wird im Shared Pool
(Statement Cache) abgelegt
PMON SMON LGWR
….
Server-Prozess SGA
Shared Pool Buffer Cache Log Buffer
Update..
SQL> UPDATE
emp SET
ename='KONG'
WHERE
ename='KING'
;
1.
3.
2.
36 SCHRITT 3: DER BEFEHL WIRD AUSGEFÜHRT
1. Der Server-Prozess liest den
Block mit dem Datensatz in
den Cache
2. Der Server-Prozess sperrt
den Datensatz.
3. Der Server-Prozess liest
einen Undo-Block in den
Cache
4. Der Server-Prozess schreibt
den alten Inhalt in den Undo-
Block
5. Alter und neuer Inhalt
kommen in den Log-Buffer
6. Der Inhalt wird im Cache
geändert.
7. Meldung "1 row updated."
PMON SMON LGWR
….
Server-Prozess SGA
Shared Pool Buffer Cache Log Buffer
Update..
Update
King
Kong
1 row
updated.
King
Kong
Undo
King
Daten-TS Undo-TS
Redo-Log
King
Datenblöcke
1.
L
7.
3.
2.
5.
6.
4.
37 SCHRITT 4: DER BENUTZER BESTÄTIGT DIE ÄNDERUNG MIT "COMMIT"
1. Der User bestätigt die
Änderung mit "COMMIT"
2. "COMMIT" wird geparst und
im Shared-Pool abgelegt
3. Commit—Information wird
im Log-Buffer abgelegt
4. Der Log-Writer schreibt die
Informationen aus dem Log-
Buffer in die Online-Redolog-
Datei.
5. Der Lock des Datensatzes
wird freigegeben.
6. Der Benutzer bekommt die
Meldung "Commit complete."
PMON SMON ….
Server-Prozess SGA
Shared Pool Buffer Cache Log Buffer
Update..
Commit
Update
King
Kong
Commit
SQL> COMMIT;
Commit complete.
King
Kong
Undo
King
Daten-TS Undo-TS Redo-Log
Update
King
Kong
Commit
King
Datenblöcke
6.
3.
2.
1.
4.
5.
LGWR
38 WAS FEHLT NOCH?
§ Der geänderte Datenbank-Block ist bis jetzt nur im Cache geändert, aber (noch) nicht in
der Datenbank-Datei!
§ Der Database Writer (DBWn) schreibt asynchron
§ Wichtig für "Commit Complete" ist: die Änderungen sind in den Redolog-Dateien
(Transaktionslog) gespeichert
39 UND SONST NOCH …
§ Wenn eine Online-Redolog-Datei voll ist, dann
o Wechselt die DB in die nächste Redolog-Datei ("Log-Switch")
o Die volle Redolog-Datei wird archiviert (dafür gibt es den "Archiver-Prozess")
o Es wird ein sog. "Checkpoint" ausgelöst
o è alle geänderten Blöcke ("dirty blocks") werden vom Cache in die DB-Dateien
geschrieben
o è die Datenbank-Dateien sind wieder konsistent
40
ORACLE CONTAINER-DATENBANKEN
41 CONTAINER-DATENBANKEN (1) - ÜBERBLICK
§ "Container-Datenbanken" sind
Oracle-Datenbanken, die "virtuelle
Datenbanken" (sog. "Pluggable
Datenbanken" (PDB)) enthalten
§ Die PDBs sind in sich abgeschlossen.
§ Hintergrund-Prozesse und
Speicher-Strukturen (SGA) werden
gemeinsam von allen PDBs genutzt
o ressourcen-sparender
o "manage many as one"
o optimal für die Cloud
§ Kein Unterschiede aus Applikationssicht.
§ Die Prinzipien aus dem vorherigen Abschnitt gelten weiterhin.
Quelle: oracle.com
42 CONTAINER-DATENBANKEN (2) - ARCHITEKTUR
§ Spezielle Container
o CDB$ROOT = enthält die Definitionen des Dictionaries, Metadaten der PDBs
o PDB$SEED = "Kopiervorlage" für die PDBs
§ Data Dictionary
o Die Strukturen des Dictionaries sind in CDB$ROOT abgelegt
o Aus den PDBs heraus gibt es Pointer auf die Objekte in CDB$ROOT
o Die Inhalte des Dictionaries (welche User gibt es in der PDB, welche Tabellen, etc.) werden lokal in der
PDB gespeichert
43
LINKS
44 LINKS
§ Ebook (kostenfrei, Registrierung erforderlich)
"An Introduction to Relational Database Theory"
https://bookboon.com/en/an-introduction-to-relational-database-theory-ebook
§ DB-Engines: DB-Enzyklopädie: https://db-engines.com/de/articles
§ Oracle Database 21c Technical Architecture:
https://docs.oracle.com/en/database/oracle/oracle-database/21/dbiad/index.html
FRAGEN & ANTWORTEN
MARKUS FLECHTNER
§ Markus.flechtner@trivadis.com
§ Twitter @markusdba
§ Blog: markusdba.net|.de
TOGETHER WE ARE
#1 PARTNER FOR BUSINESSES TO
HARNESS THE POWER OF DATA
FOR A SMARTER LIFE
Oracle Datenbank-Architektur

Weitere ähnliche Inhalte

Ähnlich wie Oracle Datenbank-Architektur

SOA Suite 11g Deep Dive
SOA Suite 11g Deep DiveSOA Suite 11g Deep Dive
SOA Suite 11g Deep Dive
esentri AG
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für Einsteiger
Markus Flechtner
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationSamuel Zürcher
 
Marek Adar – IT-Tage 2015 – Oracle 12c Multitenant
Marek Adar – IT-Tage 2015 – Oracle 12c MultitenantMarek Adar – IT-Tage 2015 – Oracle 12c Multitenant
Marek Adar – IT-Tage 2015 – Oracle 12c Multitenant
Informatik Aktuell
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?
Markus Flechtner
 
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
David Schneider
 
Exchange Server 2019 MetaCache Database und BigFunnel
Exchange Server 2019 MetaCache Database und BigFunnelExchange Server 2019 MetaCache Database und BigFunnel
Exchange Server 2019 MetaCache Database und BigFunnel
Thomas Stensitzki
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle Tools
Christian Gohmann
 
APEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & BetriebAPEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & Betrieb
Niels de Bruijn
 
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Lars Platzdasch
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
AOE
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Karin Patenge
 
Big Data Konnektivität
Big Data KonnektivitätBig Data Konnektivität
Big Data Konnektivität
Trivadis
 
Was ist eine Datenbank - und was hat Blockchain damit zu tun?
Was ist eine Datenbank - und was hat Blockchain damit zu tun?Was ist eine Datenbank - und was hat Blockchain damit zu tun?
Was ist eine Datenbank - und was hat Blockchain damit zu tun?
Stefan Adolf
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
Georg Knon
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use Case
Splunk
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
Splunk
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
AWS Germany
 

Ähnlich wie Oracle Datenbank-Architektur (20)

SOA Suite 11g Deep Dive
SOA Suite 11g Deep DiveSOA Suite 11g Deep Dive
SOA Suite 11g Deep Dive
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für Einsteiger
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
Marek Adar – IT-Tage 2015 – Oracle 12c Multitenant
Marek Adar – IT-Tage 2015 – Oracle 12c MultitenantMarek Adar – IT-Tage 2015 – Oracle 12c Multitenant
Marek Adar – IT-Tage 2015 – Oracle 12c Multitenant
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?
 
Transaktionssysteme
TransaktionssystemeTransaktionssysteme
Transaktionssysteme
 
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
 
Exchange Server 2019 MetaCache Database und BigFunnel
Exchange Server 2019 MetaCache Database und BigFunnelExchange Server 2019 MetaCache Database und BigFunnel
Exchange Server 2019 MetaCache Database und BigFunnel
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle Tools
 
APEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & BetriebAPEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & Betrieb
 
Digicomp sqlday admin
Digicomp sqlday adminDigicomp sqlday admin
Digicomp sqlday admin
 
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
Big Data Konnektivität
Big Data KonnektivitätBig Data Konnektivität
Big Data Konnektivität
 
Was ist eine Datenbank - und was hat Blockchain damit zu tun?
Was ist eine Datenbank - und was hat Blockchain damit zu tun?Was ist eine Datenbank - und was hat Blockchain damit zu tun?
Was ist eine Datenbank - und was hat Blockchain damit zu tun?
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use Case
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 

Mehr von Markus Flechtner

My SYSAUX tablespace is full, please
My SYSAUX tablespace is full, pleaseMy SYSAUX tablespace is full, please
My SYSAUX tablespace is full, please
Markus Flechtner
 
Rolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cRolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19c
Markus Flechtner
 
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
Markus Flechtner
 
Container Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cContainer Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21c
Markus Flechtner
 
OraChk
OraChkOraChk
TFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorTFA - Trace File Analyzer Collector
TFA - Trace File Analyzer Collector
Markus Flechtner
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2
Markus Flechtner
 
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
Markus Flechtner
 
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?
Markus Flechtner
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle Database
Markus Flechtner
 
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
Markus Flechtner
 
Oracle - Checklist for performance issues
Oracle - Checklist for performance issuesOracle - Checklist for performance issues
Oracle - Checklist for performance issues
Markus Flechtner
 
Einführung in den SQL-Developer
Einführung in den SQL-DeveloperEinführung in den SQL-Developer
Einführung in den SQL-Developer
Markus Flechtner
 
Oracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesOracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection Issues
Markus Flechtner
 
Checklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsChecklist for Upgrades and Migrations
Checklist for Upgrades and Migrations
Markus Flechtner
 
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
Markus Flechtner
 
Datenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
Datenbank-Selbstverwaltung - Das Oracle-Data-DictionaryDatenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
Datenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
Markus Flechtner
 
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...
Markus Flechtner
 
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
Markus Flechtner
 
Oracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerOracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für Einsteiger
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
 
Rolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cRolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19c
 
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
 
Container Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cContainer Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21c
 
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
 
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
 
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...
 
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 Datenbank-Architektur

  • 2. § eine international tätige Firma mit Schweizer Wurzeln, die: o spezialisiert ist auf Data Management und Data Analysis, KI und Machine Learning o mit Kunden und Partnern gemeinsam die digitale Zukunft gestaltet, indem wir aus Daten Chancen machen o 720 Mitarbeitende an 15 Workspaces in 4 Ländern beschäftigt WIR SIND … 2
  • 3. DATEN SIND UNSERE DNA Seit 1994 unterstützen wir Unternehmen dabei, Daten und neue Technologien intelligent zu nutzen. Dabei decken wir das gesamte Spektrum ab: von der Entwicklung und dem Betrieb von Datenplattformen und Lösungen, der Veredelung von Daten bis hin zur Beratung und zum Training. UNSERE DATA VALUE CHAIN Von DATEN zu CHANCEN BEREITSTELLUNG von Datenplattformen REFINEMENT von Daten INTELLIGENTE NUTZUNG von Daten 3
  • 4.
  • 6. HI! MARKUS FLECHTNER PRINCIPAL CONSULTANT § Trivadis Germany GmbH § Diplom-Mathematiker § Schwerpunkte o Oracle Hochverfügbarkeit o Database Upgrade + Migration § Kursreferent: RAC, New Features, Multitenant, PostgreSQL § Twitter @markusdba § Blog: markusdba.net|.de § Co-Autor des Buches "The Oracle DBA" (2016)
  • 7. 9 AGENDA § Grundbegriffe § Datenbank-Architektur bei Oracle o Dateien o Prozesse o Speicherstrukturen o Data Dictionary § Was passiert bei einer Transaktion? § Container-Datenbanken bei Oracle § Links Das ist ein Einsteiger-Vortrag – mit Verkürzungen, Vereinfachungen, etc.
  • 9. 11 GRUNDBEGRIFFE § Datenbank § Transaktion § ACID § MVCC
  • 10. 12 DATENBANK § Die Wikipedia sagt: "Die wesentliche Aufgabe einer Datenbank ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen."
  • 11. 13 RDBMS § RDBMS steht für "Relational Database Management System" § Daten werden Tabellen gespeichert o In der DB-Theorie heißen "Tabellen" auch "Relationen" § Beispiele o Oracle :) o Microsoft SQL Server o MariaDB / MySQL o PostgreSQL
  • 12. 14 TRANSAKTION § Eine Transaktion ist "eine logische zusammenhängende Operation, die aus mehreren Befehlen bestehen kann" § SELECT § INSERT § UPDATE § DELETE
  • 13. 15 TRANSAKTION – DAS KLASSISCHE BEISPIEL (ÜBERWEISUNG) SQL> UPDATE konten SET konto_stand=konto_stand - 100 WHERE konto_nummer=4711; 1 row updated. SQL> UPDATE konten SET konto_stand=konto_stand + 100 WHERE konto_nummer=4712; 1 row updated. SQL> COMMIT; Commit complete.
  • 14. 16 ACID § ACID = Anforderungen an Transaktionen in einem Datenbank-Management- System (DBMS) § "ACID" steht für o Atomicity = Eine Transaktion wird entweder ganz oder gar nicht ausgeführt ("either all-or-nothing") o Consistency = Nach einer Transaktion sind die Daten logisch konsistent. o Isolation = Transaktionen dürfen sich nicht gegenseitig beeinflussen o Durability = Auch Systemfehler verändern die Daten nicht.
  • 15. 17 MVCC = MULTI-VERSION-CONCURRENCY-CONTROL § Konkurriende Zugriffe in einer Datenbank sollen ausgeführt werden können, ohne sich gegenseitig zu blockieren oder die Konsistenz der Datenbank zu gefährden § "readers don't bl Transaktion sieht nur das, was zu Beginn einer Transaktion commited war
  • 16. 18 IMPLEMENTIERUNG § Alle gängigen aktuellen RDBMS implementieren diese Prinzipien (ACID, MVCC). § Die Mechanismen sind ähnlich. § Die Unterschiede liegen im Detail und in den Namen für die jeweiligen Komponenten.
  • 18. 20 Und jetzt reduzieren wir dieses Bild mal auf das Wesentliche ..
  • 19. 21 THE BIG PICTURE (IMMER NOCH KOMPLIZIERT GENUG) PMON SMON LGWR …. Server-Prozess SGA Shared Pool Buffer Cache Log Buffer Daten-TS Undo-TS Redo1 Datenblöcke (8 KB) Tablespaces mit Datendateien Redo2 Redo3 Online-Redolog PGA LSNR Control1 Control2 Control3 Control- Dateien Arc-Redo Arc-Redo Arc-Redo Arc-Redo Archivierte Redolog-Dateien
  • 20. 22 DATENBANK & INSTANZ § Datenbank o Eine Datenbank ist eine Menge von Dateien, die sich auf der Festplatte befinden und Daten speichern. o Datenbankdateien können ohne eine Instanz existieren. § Instanz o Die Instanz besteht aus einem gemeinsam genutzten Speicherbereich, der sogenannten System Global Area (SGA), und einer Reihe von Hintergrundprozessen. o ORACLE_SID ("System Identifier") Quelle: oracle.com
  • 21. 23 DATEIEN (1) § Datenbank-Dateien (logisch aufgeteilt in Tablespaces) § Online Redo Log-Dateien § Archivierte Redolog-Dateien § Control-Dateien § Parameter-Datei § … § Und mehr Quelle: oracle.com
  • 22. 24 DATEIEN (2) § Datenbank-Dateien o Enthalten die eigentlichen Daten o Sind in Blöcken organisiert (übliche Größe 8 KB) o Sind in Tablespaces aufgeteilt ("Platz für Tabellen", logische Aufteilung der Daten) § Online-Redolog—Dateien ("Transaktionslog") o Enthalten die Transaktionsdaten o Sind in Gruppen organisiert und werden zyklisch beschrieben § Archivierte Redolog-Dateien o Wichtig für's Recovery Redo1 Redo2 Redo3
  • 23. 25 DATEIEN (3) § Control-Dateien o Informationen über die physische Struktur der Datenbank (welche Dateien gehören zur DB?) § Konfigurationsdateien o Parameter
  • 24. 26 SPEZIELLE TABLESPACES § SYSTEM o Enthält die internen Tabellen (sog. Data Dictionary) § SYSAUX o Enthält (z.B.) Tabellen für Performance-Auswertungen § UNDO o Enthält das sog. "Before-Image" bei Updates, wichtig für Lesekonsistenz und "Rollback" § TEMP o Auslagerung von temporären Daten, z.B. bei großen Sortiervorgängen
  • 25. 27 WOFÜR BRAUCHEN WIR "UNDO"? § Bei einer ändernden Transaktion wird der alte Stand ("Before-Image") des Datensatzes im UNDO- Tablespace abgespeichert. § Wird die Transaktion abgebrochen (Systemfehler oder "ROLLBACK"), dann wird der alte Stand auf Basis der UNDO-Daten wiederhergestellt. § Wenn eine andere Transaktion den alten Stand der Daten lesen muss (Stichwort "Lesekonsistenz" / "read- committed"), dann wird dieser alte Stand aus den UNDO-Daten rekonstruiert. § Andere RDBMS lösen dieses Problem anders, indem sie z.B. bei Änderungen eine komplett neue Version eines Datensatzes anlegen (PostgreSQL) o Jeder Datensatz hat Gültigkeitsinformationen (gültig von .. bis)
  • 26. 28 PROZESSE § Hintergrundprozesse o Eine "Standard-Instanz" hat mehr als 30 Hintergrundprozesse o Für das Grundverständnis sind folgende Prozesse wichtig: SMON System-Monitor PMON Prozess-Monitor – räumt auf, wenn Datenbank-Sitzung abstürzen LGWR Log-Writer – schreibt Transaktionsdaten in die Online-Redolog-Dateien ARC0 Archiver – archiviert volle Online-Redolog-Dateien DBWR Database Writer – schreib geänderte Blöcke (asynchron) in die Datenbank-Dateien CKPT Checkpointer – löst einen Checkpoint aus (=> alle DB-Dateien konsistent) Quelle: oracle.com
  • 27. 29 SPEICHERSTRUKTUREN § SGA = Shared Global Area (für alle Sitzungen) o Buffer Cache (= Cache für DB-Inhalte) o Shared Pool (Statement-Cache) o Redolog-Buffer (Transaktionsformationen) o … § PGA = Program Global Area (pro Sitzung) o Session-Variablen o Speicherplatz zum Sortieren o … Quelle: oracle.com
  • 28. 30 DATA DICTIONARY ("SYSTEM CATALOG") (1) § Jede Datenbank verwaltet sich selbst über interne Tabellen ("Data Dictionary", "System Catalog") § Das Data Dictionary ist eine Sammlung von Tabellen in der Datenbank, o .. die Metadaten zu den Applikationstabellen, Datenbank-Benutzern etc. enthält o .. die mit SQL abgefragt werden können wie jede andere Tabelle in der Datenbank o .. die vom RDBMS automatisch gepflegt wird § Beispiele o DBA_USERS o USER_TABLES o USER_VIEWS o ALL_TAB_COLUMNS o …
  • 29. 31 DATA DICTIONARY ("SYSTEM CATALOG") (2) § Im Oracle Data Dictionary gibt es drei Ebenen o DBA_* - o ALL_* - o USER_* § Beispiel o USER_OBJECTS = meine Objekte o ALL_OBJECTS = alle Objekte auf die ich Zugriff habe o DBA_OBJECTS = der DBA sieht alle Objekte in der Datenbank DBA_* ALL_* USER_*
  • 30. 32 WAS PASSIERT BEI EINER TRANSAKTION?
  • 31. 33 SQL> UPDATE emp SET ename='KONG' WHERE ename='KING'; SQL> COMMIT; § Ein Benutzer meldet sich an der Datenbank an und führt folgende Befehle aus § Was passiert in der Datenbank? Disclaimer: Alles etwas vereinfacht.
  • 32. 34 Datenbank SCHRITT 1: DER BENUTZER MELDET SICH AN 1. Der Client schickt eine Verbindungsanfrage an den Server (Host, Port, DB, User, Password) 2. Der Listener nimmt die Anfrage entgegen. 3. Der Listener startet einen Prozess auf dem DB-Server, der sich mit der DB-Instanz "verbindet" 4. Die weitere Kommunikation Client ßà DB läuft dann über den Server-Prozess. PMON SMON LGWR …. LSNR Icon: FlatIcon.com / Voysla Server-Prozess SGA 1. 2. 3. 4.
  • 33. 35 SCHRITT 2: DER BENUTZER SETZT DEN UPDATE-BEFEHL AB 1. Der Benutzer setzt den Update-Befehl ab 2. Der Befehl wird geparst (Syntax korrekt? Gibt es die Tabelle? Hat der Benutzer die nötigen Rechte?) und ein Execution Plan (wie komme ich an die Daten?) wird erzeugt. 3. Der Befehl + Execution Plan wird im Shared Pool (Statement Cache) abgelegt PMON SMON LGWR …. Server-Prozess SGA Shared Pool Buffer Cache Log Buffer Update.. SQL> UPDATE emp SET ename='KONG' WHERE ename='KING' ; 1. 3. 2.
  • 34. 36 SCHRITT 3: DER BEFEHL WIRD AUSGEFÜHRT 1. Der Server-Prozess liest den Block mit dem Datensatz in den Cache 2. Der Server-Prozess sperrt den Datensatz. 3. Der Server-Prozess liest einen Undo-Block in den Cache 4. Der Server-Prozess schreibt den alten Inhalt in den Undo- Block 5. Alter und neuer Inhalt kommen in den Log-Buffer 6. Der Inhalt wird im Cache geändert. 7. Meldung "1 row updated." PMON SMON LGWR …. Server-Prozess SGA Shared Pool Buffer Cache Log Buffer Update.. Update King Kong 1 row updated. King Kong Undo King Daten-TS Undo-TS Redo-Log King Datenblöcke 1. L 7. 3. 2. 5. 6. 4.
  • 35. 37 SCHRITT 4: DER BENUTZER BESTÄTIGT DIE ÄNDERUNG MIT "COMMIT" 1. Der User bestätigt die Änderung mit "COMMIT" 2. "COMMIT" wird geparst und im Shared-Pool abgelegt 3. Commit—Information wird im Log-Buffer abgelegt 4. Der Log-Writer schreibt die Informationen aus dem Log- Buffer in die Online-Redolog- Datei. 5. Der Lock des Datensatzes wird freigegeben. 6. Der Benutzer bekommt die Meldung "Commit complete." PMON SMON …. Server-Prozess SGA Shared Pool Buffer Cache Log Buffer Update.. Commit Update King Kong Commit SQL> COMMIT; Commit complete. King Kong Undo King Daten-TS Undo-TS Redo-Log Update King Kong Commit King Datenblöcke 6. 3. 2. 1. 4. 5. LGWR
  • 36. 38 WAS FEHLT NOCH? § Der geänderte Datenbank-Block ist bis jetzt nur im Cache geändert, aber (noch) nicht in der Datenbank-Datei! § Der Database Writer (DBWn) schreibt asynchron § Wichtig für "Commit Complete" ist: die Änderungen sind in den Redolog-Dateien (Transaktionslog) gespeichert
  • 37. 39 UND SONST NOCH … § Wenn eine Online-Redolog-Datei voll ist, dann o Wechselt die DB in die nächste Redolog-Datei ("Log-Switch") o Die volle Redolog-Datei wird archiviert (dafür gibt es den "Archiver-Prozess") o Es wird ein sog. "Checkpoint" ausgelöst o è alle geänderten Blöcke ("dirty blocks") werden vom Cache in die DB-Dateien geschrieben o è die Datenbank-Dateien sind wieder konsistent
  • 39. 41 CONTAINER-DATENBANKEN (1) - ÜBERBLICK § "Container-Datenbanken" sind Oracle-Datenbanken, die "virtuelle Datenbanken" (sog. "Pluggable Datenbanken" (PDB)) enthalten § Die PDBs sind in sich abgeschlossen. § Hintergrund-Prozesse und Speicher-Strukturen (SGA) werden gemeinsam von allen PDBs genutzt o ressourcen-sparender o "manage many as one" o optimal für die Cloud § Kein Unterschiede aus Applikationssicht. § Die Prinzipien aus dem vorherigen Abschnitt gelten weiterhin. Quelle: oracle.com
  • 40. 42 CONTAINER-DATENBANKEN (2) - ARCHITEKTUR § Spezielle Container o CDB$ROOT = enthält die Definitionen des Dictionaries, Metadaten der PDBs o PDB$SEED = "Kopiervorlage" für die PDBs § Data Dictionary o Die Strukturen des Dictionaries sind in CDB$ROOT abgelegt o Aus den PDBs heraus gibt es Pointer auf die Objekte in CDB$ROOT o Die Inhalte des Dictionaries (welche User gibt es in der PDB, welche Tabellen, etc.) werden lokal in der PDB gespeichert
  • 42. 44 LINKS § Ebook (kostenfrei, Registrierung erforderlich) "An Introduction to Relational Database Theory" https://bookboon.com/en/an-introduction-to-relational-database-theory-ebook § DB-Engines: DB-Enzyklopädie: https://db-engines.com/de/articles § Oracle Database 21c Technical Architecture: https://docs.oracle.com/en/database/oracle/oracle-database/21/dbiad/index.html
  • 43. FRAGEN & ANTWORTEN MARKUS FLECHTNER § Markus.flechtner@trivadis.com § Twitter @markusdba § Blog: markusdba.net|.de
  • 44. TOGETHER WE ARE #1 PARTNER FOR BUSINESSES TO HARNESS THE POWER OF DATA FOR A SMARTER LIFE