oracle datenbank architektur - nicht nur für · pdf fileoracle datenbank architektur -...
TRANSCRIPT
Oracle Datenbank Architektur -nicht nur für Einsteiger
Martin KlierKlug GmbH integrierte Systeme, Teunz
DOAG Webinar, 08.03.2012
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Referent
• Martin Klier
• Datenbankadministrator für
• Fachliche Schwerpunkte:- Performanceoptimierung / Tuning- hochverfügbare Systeme- Cluster und Replikation
• Linux seit 1997
• Oracle Database seit 2003
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Referent
• Vorträge 2012
• Kontakt: [email protected]
• Weblog: http://www.usn-it.de
2012
April:Las Vegas
Oktober:San Francisco
November:Nürnberg
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
• Klug GmbH integrierte SystemeLindenweg 1392552 Teunz
• http://www.klug-is.de
• Führendes und erfolgreiches Unternehmen der Software- und Steuerungssysteme für die Intralogistik
• Konzeption, Beratung, Softwareerstellung, Elektronik, Kommissioniertechnik, Hardware, ...
• 270 Mitarbeiter / 50 Auszubildende
Unternehmen
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
• Oracle Datenbank-Architektur- Verbindung, Namespace(s) und Abschottung- Instanz und Datenbank- Alles Blöcke, oder was?- Redo, Undo und was man damit macht
• Stets das Ziel: „Das Konzept dahinter“ verstehen
• Primär für Einsteiger = Vertiefung für Erfahrene
Dieses Webinar ...
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Host (=Server)
GrundbegriffeIn
stan
ceD
atab
ase
SchemaSchema
Object XObject X
Listener:1521
Processes
Memory Segment(s)
Registrieren
Anwender mit Clients
SERVICE_NAME=INTRANET
SERVICE_NAME=DWH
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Host (=Server)
Connection + SessionIn
stan
ceD
atab
ase
SchemaSchema
Object XObject X
Listener:1521
Session
124
53Mem.S.
Processes
„TNS“1. Verbindungsaufbau2. Anforderung Session3. Start Session4. Übergabe Verb.5. Kommunikation
Client
SERVICE_NAME=DWH
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Host (=Server)
Abschottung / Schemas
Inst
ance
Dat
abas
e
BOB
SessionMem.S.
Processes
User„ALICE“
ALICE
EMPLOYEES EMPLOYEES
select *from BOB.EMPLOYEESwhere ...;
grant selecton EMPLOYEESto ALICE;
Schemas
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
DBserver1
Datenbank-Link
EMP
Anwender mit Clients
DBserver2
Listener:1521
EMPDB_LNK
Listener:1521
Aufbau einer Session
select *from EMP@DB_LNKwhere ... ;
speichert / impliziertZugangsdaten
Architektur
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
TEMP
Architekturschema (vereinfacht)
Listener:1521
PMON
SGA
SessionSession
Buffer Cache
Shared Pool
Log Buffer
ARCnSMON
LGWR
DBWn
PGAs
CKPT
Session
Online
Redo
Logs
ArchivedRedoLogs
Tablespace Undo Tbs.
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
TEMP
Lesevorgang
Listener:1521
SGA
PGAs
Session
Tablespace
Blöcke
Sort,Hash,Merge
Shared Pool
select ... ;
Buffer Cache
„Buffer“
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
TEMP
Daten-Änderung, Database Writer
Listener:1521
SGA
PGAs
Session
Tablespace
Blöcke
PMON
ARCnSMON
LGWRCKPT
Shared Pool
DBWnAber:Database Writerist ein Lazy Writer!
Schreibvorgang auf HDDkann extrem nachhängen!
Buffer Cache
update ...;
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
TEMP
Daten-Änderung (nur Redo)
Listener:1521
SGA
Buffer Cache
Log Buffer
PGAs
Session
Online
Redo
Logs
ArchivedRedoLogs
Tablespace
Blöcke
PMON
ARCnSMON DBWn
CKPT
commit;
LGWR
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Crash
Online
Redo
Logs
ArchivedRedoLogs
Tablespace
Blöcke
commit;
!
TEMP
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Crash Recovery (nur Redo)
Online
Redo
Logs
ArchivedRedoLogs
Tablespace
Blöcke
?SGA
Buffer Cache
Log Buffer
PMON
ARCn
LGWR
DBWn
CKPT
SMON
TEMP
Listener:1521
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
INACTIVE
Detail: Online Redo Logs
„Group“ 1
„Members“
„Group“ 4
„Group“ 3
„Group“ 2
UNUSED
CURRENT
ACTIVE
LGWR
•darf überschrieben werden
•darf NICHT überschrieben w.•DBWn synchronisiert auf TBS
•LGWR befüllt gerade aus Log Buffer
•war noch nie CURRENT
„Log Switch“
DBWn
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
• Schreibt den Log Buffer ins Online Redo Log- bei jedem Commit- wenn Log Buffer voll- nach spätestens 3 Sekunden
• Laufzeit bestimmt Commit-Zeit
• Läuft mit höchster Priorität
Log Writer
OnlineRedoLogs
Log Buffer
LGWR
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
• dienen der Absicherung des Cache
• müssen aufbewahrt werden so lange DBWn nicht in Tablespace geschrieben hat
• müssen aufbewahrt werden so lange ARCn nicht in Archived Redo Log geschrieben hat
• werden später zyklisch überschrieben
Online Redo Logs
OnlineRedoLogs
ArchivedRedoLogs
ARCn
Log Buffer
LGWR
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
• werden pro RL-“Group“ vom Archiver (ARCn) erzeugt- frühestens: nach Log Switch- spätestens: vor Überschreiben Online Redo Log
• dienen dem Nachfahren von verlorenen Operationenbeim Recovery aus einem Backup- Complete Recovery- Point-in-Time-Recovery
• werden min. bis zum nächsten Backup aufbewahrt- nie überschrieben- später gelöscht
Archived Redo Logs
OnlineRedoLogs
ArchivedRedoLogs
ARCn
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Das war aber nur die halbe Wahrheit ...
Das benötigte Transaktionsverfahren macht die Sache etwas komplizierter.
Was ist UNDO...?
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
TEMP
Undo-Konzept
Listener:1521
SGA
Buffer CachePGAs
Session
Tablespace Undo Tbs.
Blöcke
PMON
ARCnSMON
LGWRCKPT
Shared Poolrollback;
DBWn
update ...;
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
• dienen dem Zurückrollen von Änderungen
• kein „Undo-“Hintergrundprozess (Session / Job / etc. schreibt selbst)
• werden später überschrieben („Ringpuffer“)- frühestens: nach Abschluss der Transaktion- meist: nach Ablauf der Undo Retention- spätestens: bei Platzbedarf
• weitere Verwendung- für konsistentes Lesen (stets)- Flashback-Technologien (optional)
Undo Records
Undo Tbs.
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Undo: Konsistentes Lesen
select * from TABLE where ... ;
geänderte, abernicht committete
Rows
ITL Eintrag
Undo Tbs.
BeforeImage
Undo Records
Session
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
TEMP
Daten-Änderung (komplett)
Listener:1521
SGA
Buffer CachePGAs
Session
Tablespace Undo Tbs.
Blöcke
PMON
SMON
CKPT
Shared Pool
update ...;
DBWn
Log Buffer
Online
Redo
Logs
ArchivedRedoLogs
LGWR
ARCn
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Crash
Online
Redo
Logs
ArchivedRedoLogs
Tablespace
Blöcke
Undo Tbs.
TEMP
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
SMON
Crash Recovery
Online
Redo
Logs
ArchivedRedoLogs
Tablespace
Blöcke
?SGA
Buffer Cache
Log Buffer
PMON
ARCn
LGWR
DBWn
CKPT TEMP
Listener:1521
Undo Tbs.
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
SMON nach Crash Recovery
Online
Redo
Logs
ArchivedRedoLogs
Tablespace
Blöcke
SGA
Buffer Cache
Log Buffer
PMON
ARCn
LGWR
DBWn
CKPT
SMON
TEMP
Listener:1521
Undo Tbs.
rollback by SMONSession
Shared Pool
Konkurr. Abfrage select ... ;
PGAs
X
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Q & A
Martin Klier: Oracle Datenbank Architektur - nicht nur für Einsteiger
Abschluß
Quellen:
• http://www.oracle.com/technology
• http://wikipedia.org
• http://www.usn-it.de (eigenes Blog)
Alle Marken und Logos sind Eigentum der jeweiligen Unternehmen. Diese Präsentation dient zu Schulungszwecken und stellt keine Werbung und keine Leistungszusicherung dar, weder durch den Autor, den Referenten noch durch die
Klug GmbH integrierte Systeme. Irrtum und Änderungen vorbehalten.
(c) 2013 by Martin Klier, Klug GmbH integrierte Systeme, Teunz
Dieses Werk steht unter der Creative-Commons-Lizenz „by-sa“
Vielen Dank für Ihre Aufmerksamkeit!