Datenbanksystem System Global Area Hintergrundprozesse Dr. Frank Haney 1 Komponenten des Datenbanksystems System Global Area Program Global Area Hintergrundprozesse Dr. Frank Haney 2 System Global Area – Elemente SGA-Element Funktion DatabaseBuffer-Cache Speicherbereich für Blöcke, die vom Server-Prozeß aus den Datendateien gelesen und vom DBWn asynchron auf Platte geschrieben werden (LRUMechanismus) Speichert Before-Image- und After-Image-Kopien von geänderten Daten, die in die Redo Log Dateien geschrieben werden sollen, wird zyklisch überschrieben Speichert geparste Versionen von SQLAnweisungen, PL/SQL-Prozeduren und Data Dictionary-Informationen. Redo-LogBuffer Shared Pool Large Pool Dr. Frank Haney Optionaler Speicherbereich für I/O des RMAN, Backup und Restore (kein LRU-Mechanismus) 3 Program Global Area Dr. Frank Haney 4 Server – und Benutzerprozesse ØBenutzerprozeß wird generiert, wenn vom Benutzer ein Frontend wie z.B. SQL*Plus, Forms, Reports oder der Enterprise Manager gestartet wird. Dieser Prozeß kann auf dem Client oder Server ablaufen und bildet die Schnittstelle, über die der Benutzer mit der Datenbank kommuniziert. ØServerprozeß bearbeitet die Anforderungen des Benutzer-Prozesses (z.B. Beantwortung von SQL-Abfragen). In einer dedizierten Serverkonfiguration wird wir für jeden Benutzerprozeß ein Serverprozeß auf dem Rechner mit der Instanz erzeugt, sobald eine gültige Verbindung hergestellt ist. Die Program Global Area (PGA) ist ein dem Serverprozeß zugeordneter privater Speicherbereich. Sein Inhalt und sein Ort hängt von der Serverkonfiguration ab. Bei dediziertem Server umfaßt dieser die Sessioninformationen und den privaten SQL-Bereich (Bindevariablen, Cursor). Dr. Frank Haney 5 Wichtige Hintergrundprozesse Typ Beschreibung Database Writer (DBWn) Schreibt asynchron "dirty" Buffer vom Datenbank-Buffer-Cache in die Datendateien. Bis zu 10 Prozesse sind möglich. Log Writer (LGWR) Schreibt Daten (Protokoll der Änderungen von Daten- und RollbackBlöcken) aus dem Redo-Log-Buffer in die Redo-Log-Dateien. Führt automatisch ein Instance Recovery durch. Stellt Speicherplatz in temporären Segmenten wieder her, wenn sie nicht mehr benutzt werden. Faßt zusammenhängende Bereiche von freiem Speicherplatz zusammen. Bereinigt den Server-Prozeß, der zu einem unnormal beendeten Benutzer-Prozeß gehört. Führt Rollback durch und gibt die Ressourcen frei, die der abgestürzte Prozeß hält. System Monitor (SMON) Process Monitor (PMON) Checkpoint Process (CKPT) Synchronisiert die Header der Datendateien und Kontrolldateien mit den aktuellen Log-Sequenz- und Checkpoint-Nummern. Archiver (ARCn) (optional) Archiviert automatisch Redo-Log-Dateien. Bis zu 10 Prozesse können gestartet werden. Dr. Frank Haney 6 Physische Struktur der Datenbank ≥1 Dr. Frank Haney ≥1 ≥2 7 Datenbankdateien Dateityp Beschreibung Datendateien Physikalische Datenspeicherung. Pro Datenbank wird mindestens eine Datei benötigt. Diese Datei speichert den SystemTablespace. (binär) Redo-Log-Dateien Protokollieren Before Image und After Image von geänderten Daten, um sie wiederherstellen zu können. Es werden mindestens zwei Gruppen benötigt. (binär) Kontrolldateien Zeichnen die physikalische Struktur und den Status der Datenbank auf. (binär) Parameterdateien Speichern Initialisierungsparameter, die beim Hochfahren der Instanz ausgewertet werden. (Text - SPFILE aber binär) Paßwortdatei (optional) Zur Authentifizierung privilegierter Benutzer, die die Datenbank hochfahren, herunterfahren und wiederherstellen können. Archivierte RedoLog-Dateien (optional) 1:1 Kopien von Online Redo-Log-Dateien, Sie werden erstellt, wenn die Datenbank in den Modus ARCHIVELOG gesetzt wird. Werden beim Recovery benötigt. (binär) Dr. Frank Haney 8 Inhalt der Kontrolldatei ØDatenbankname und -identifier ØDatum der Datenbank-Erzeugung ØSpeicherorte für Datendateien und Redo Logs ØNamen der Tablespaces ØLog-History ØBackup-Informationen ØAktuelle Log Sequenz-Nummer ØCheckpoint-Informationen (System Change Number) Name und Pfade der Kontrolldateien werden dem Server in der Parameterdatei bekannt gemacht. Dr. Frank Haney 9 Logische Struktur Dr. Frank Haney 10 Manuelles Hochfahren der Datenbank Ablauf: 1. Instanz starten (Windows: Dienst muß laufen) 2. Datenbank mounten 3. Datenbank öffnen Syntax: STARTUP [FORCE] [RESTRICT] [PFILE=filename] [OPEN|MOUNT|NOMOUNT] ALTER DATABASE database MOUNT; ALTER DATABASE database OPEN; Dr. Frank Haney 11 Hochfahren der Datenbank – Phasen NOMOUNT (Instanzstart): • Parameterdatei spfileSID.ora oder initSID.ora lesen • SGA allokieren • Hintergrundprozesse starten MOUNT: • Datenbank der gestarteten Instanz zuordnen • Kontrolldateien lokalisieren und öffnen • Status der Daten- und Redo-Log-Dateien lesen OPEN: • Online Datendateien öffnen • Online Redo-Log-Dateien öffnen • SMON startet eventuelles Instance Recovery Dr. Frank Haney 12 Informationen über Server und Datenbank Ø Dynamische Performance-Views • werden vom Oracle Server gepflegt und ständig aktualisiert • enthalten Daten über Platten- und Speicherstrukturen • enthalten wichtige Daten zum Performance Tuning • haben Public Synonyme mit Präfix v$ (Übersicht V$FIXED_TABLE) Ø Statische Data-Dictionary-Views • enthalten die Informationen über die DB-Objekte • haben Präfixe DBA_, ALL_, USER_ (Übersicht DICTIONARY) Ø Wann stehen welche Informationen zur Verfügung? • NOMOUNT: Daten aus dem Speicher werden gelesen • MOUNT: Daten von Festplatte und Informationen aus der Kontrolldatei werden gelesen • OPEN: Data-Dictionary-Views und weitere Performance-Views Dr. Frank Haney 13 Herunterfahren der Datenbank Syntax: SHUTDOWN [NORMAL|TRANSACTIONAL|IMMEDIATE|ABORT] Optionen: Modus N T I A Neue Anmeldungen zulassen Nein Nein Nein Nein Warten, bis aktuelle Sessions beendet sind Ja Nein Nein Nein Warten, bis aktuelle Transaktionen beendet sind Ja Ja Nein Nein Checkpoint erzwingen und Dateien Ja schließen Ja Ja Nein Dr. Frank Haney 14