Unit Four

Werbung
1
Oracle Architektur
Ziele
Nach dieser Lektion sollten Sie Folgendes können:
•
Oracle Server Architektur mit ihren
Hauptkomponenten beschreiben
•
Strukturen angeben, die beteiligt sind, wenn sich
Benutzer bei einer Oracle Instanz anmelden
•
Phasen bei der Verarbeitung angeben für:
– Abfragen
– DML-Anweisungen
– COMMITs
Überblick
BenutzerProzess
ServerProzess
Instanz
Shared Pool
Library
Cache
Data Dict.
Cache
SGA
Datenbank
Buffer
Cache
Redo Log
Buffer
PGA
SMON DBW0 PMON CKPT
Parameterdatei
Daten- Kontroll
dateien dateien
LGWR Others
Redo
LogDateien
Passwortdatei
Archivierte
Log-Dateien
Datenbank
Oracle Datenbank-Dateien
DatenDatei
Kontrolldatei
Parameterdatei
Passwortdatei
Datenbank
Redo
LogDatei
Archivierte
Log-Dateien
Andere wichtige physikalische Strukturen
Parameterdatei
Passwortdatei
Datenbank
Archivierte
Log-Dateien
Oracle Instanz
Eine Oracle Instanz:
•
•
dient dem Zugriff auf eine Oracle Datenbank
öffnet immer nur eine Datenbank
Instanz
Shared Pool
SGA
Datenbank
Buffer
Cache
Redo Log
Buffer
SMON DBW0 PMON CKPT LGWR Others
Speicherstrukturen
Hintergrundprozesse
SQL-Anweisung verarbeiten
•
Verbindung zu einer Instanz durch:
– Benutzer-Prozess
– Server-Prozess
•
Die Komponenten des Oracle Server werden je
nach Typ der SQL-Anweisung verwendet:
– Abfragen geben Zeilen zurück.
– DML-Anweisungen protokollieren Änderungen.
– Commit stellt Transaktionsgültigkeit sicher.
•
Einige Komponenten des Oracle Server beteiligen
sich nicht an der Verarbeitung von SQLAnweisungen.
Verbindung mit einer Instanz
Benutzer
Server
Oracle Server
Server
Benutzer
Client
Server
Anwendungsserver
Benutzer
Browser
Server
Abfragen bearbeiten
•
Parsen:
– sucht nach identischer Anweisung
– überprüft Syntax, Objektnamen und Privilegien
– sperrt während der Parse-Phase verwendete
Objekte
– erzeugt und speichert den Ausführungsplan
• Ausführen: identifiziert die ausgewählten Zeilen
• Abrufen: gibt Zeilen an den Benutzer-Prozess
zurück
Shared Pool
Shared Pool
LibraryCache
Data
DictionaryCache
•
Library-Cache enthält Anweisungstext, geparsten
Code und Ausführungsplan.
•
Data Dictionary-Cache enthält Tabellen-, Spaltenund andere Objektdefinitionen sowie Privilegien.
•
SHARED_POOL_SIZE definiert Größe.
Datenbank Buffer-Cache
Datenbank
BufferCache
•
•
•
Speichert die zuletzt verwendeten Blöcke
Buffer-Größe basiert auf DB_BLOCK_SIZE
DB_BLOCK_BUFFERS definiert Buffer-Anzahl
Program Global Area (PGA)
• Nicht gemeinsam benutzbar
• Nur Server-Prozess kann darauf schreiben
• Enthält:
– Sortierbereich
– Session-Informationen
– Cursor-Status
– Stack Space
ServerProzess
PGA
DML-Anweisung bearbeiten
SGA
BenutzerProzess
Datenbank
Buffer
Cache
Shared Pool
Redo Log
Buffer
UPDATE emp ...
4
ServerProzess
1
1
2
3
Daten Kontroll
dateien dateien
Redo
LogDateien
Datenbank
Redo Log Buffer
Redo Log
Buffer
•
•
LOG_BUFFER definiert Größe
•
•
Wird sequentiell genutzt
Speichert Änderungen, die die Instanz
durchgeführt hat
Zyklischer Buffer
Rollback-Segment
Alter Zustand
Neuer Zustand
Tabelle
Rollback-Segment
DML-Anweisung
COMMIT-Verarbeitung
Instanz
SGA
1
Datenbank
Buffer
Cache
ServerProzess
Shared Pool
Redo Log
Buffer
4
3
LGWR
2
BenutzerProzess
Daten Kontroll Redo
dateien dateien LogDateie
n
Datenbank
Log Writer (LGWR)
Instanz
SGA
Shared Pool
LGWR schreibt, wenn:
Datenbank
Buffer
Cache
• ein Commit auftritt
• der Redo Log-Buffer ein
Redo Log
Buffer
Drittel gefüllt ist
LGWR
• mehr als 1 MB Redo
existiert
• bevor DBW0 schreibt
Daten Kontroll
dateien dateien
Redo
LogDateien
Datenbank
Andere Prozesse der Instanz
•
Andere erforderliche Prozesse:
– DB-Writer (DBW0)
– Process Monitor (PMON)
– System Monitor (SMON)
– Checkpoint (CKPT)
•
Der Archiver-Prozess (ARC0) wird üblicherweise
bei einer Produktiv -Datenbank verwendet
DB-Writer (DBW0)
Instanz
SGA
Datenbank
Buffer
Cache
Shared Pool
DBW0 schreibt,
wenn:
• es viele “dirty”
Redo Log
Buffer
Buffer gibt
• es wenig freie
Buffer gibt
• eine Zeitüber-
DBW0
schreitung
aufritt
• ein Checkpoint
Daten Kontroll
dateien dateien
Redo
LogDateien
Datenbank
aufritt
SMON: System Monitor
•
Stellt die Instanz automatisch wieder her
– Änderungen aus den Redo Logs vorwärts
rollen
– Datenbank für Benutzer-Zugriff öffnen
– nicht festgeschriebene Transaktionen
zurückrollen
•
•
Führt freien Speicherplatz zusammen
Gibt temporäre Segmente frei
PMON: Process Monitor
PMON führt nach Prozess-Abstürzen eine Bereinigung
durch:
•
•
•
Transaktion zurückrollen
Sperren freigeben
andere Ressourcen freigeben
Archivierung
•
Archivier-Modus der Datenbank
– NOARCHIVELOG für Datenbanken, die kein
Recovery nach Plattenfehlern benötigen
– ARCHIVELOG für Produktiv-Datenbanken
•
ARC0-Prozess
– archiviert automatisch Online Redo Logs
– hält die Protokollierung aller Änderungen der
Datenbank fest
Zusammenfassung
In dieser Lektion sollten Sie Folgendes gelernt haben:
•
Datenbank-Dateien erklären: Datendateien,
Kontrolldateien, Online Redo Logs
•
SGA-Speicherstrukturen erklären: DB BufferCache, Shared SQL Pool und Redo Log Buffer
•
wichtige Hintergrundprozesse:
DBW0, LGWR, CKPT, PMON, SMON und ARC0
•
Schritte der SQL-Verarbeitung erklären: Parsen,
Ausführen, Abrufen
Herunterladen