6. Juni 2008
Inhaltsverzeichnis Oracle Instanz 1 Oracle Instanz 2 3 Redo Log Buffer Shared Pool Java Pool & Large Pool
Oracle Instanz Eine Oracle-Instanz ist Hauptbestandteil des Oracle Datenbank Management Systems (DBMS) besteht aus zwei Hauptkomponenten System Global Area (SGA) und n
unterteilt man in 1 Server-Prozesse und 2 Der Database Writer (DBWR) Der Log Writer (LGWR) Der Checkpoint-Prozess (CKPT) Der Archiver Prozess (ARCH) Der Recoverer Prozess (RECO) Der Systemmonitor Prozess (SMON) Der Prozessmonitor Prozess (PMON)
Für jeden Benutzer-Prozess erzeugt Oracle einen dazugehörigen Server-Prozess, über den die Kommunikation mit der Oracle-Instanz möglich wird. Aufgaben: Parsen und Ausführen von SQL-Anfragen, Bereitstellung von Daten aus dem Externspeicher und die Rückgabe der Anfrage-Resultate an den Client.
Database Writer DBWR Der Database Writer ist für das Schreiben von Datenblöcken aus dem Buffer Cache in die Dateien der Tablespaces verantwortlich.
Database Writer DBWR Der Database Writer ist für das Schreiben von Datenblöcken aus dem Buffer Cache in die Dateien der Tablespaces verantwortlich. Ereignisse, die den DBWR zwingen, Buffer auf die Festplatte zu schreiben: wenn ein Server-Prozess keinen freien Buffer findet und der Schwellenwert für die Suche erreicht wird wenn ein checkpoint ausgeführt wird nach einem timeout von drei Sekunden
Log Writer LGWR Der Log Writer ist für die Verwaltung der Redo Log Buffer verantwortlich, die er in die Redo-Log-Dateien auf der Festplatte schreibt.
Log Writer LGWR Der Log Writer ist für die Verwaltung der Redo Log Buffer verantwortlich, die er in die Redo-Log-Dateien auf der Festplatte schreibt. Dies geschiet wenn: eine Transaktion erfolgreich beendet wird der Redo Log Buffer zu einem Drittel gefüllt ist der DBWR Daten schreibt
CKPT & ARCH Checkpoint-Prozess legt periodisch Sicherheitspunkte an, die nach einem Absturz zum Reconstruieren der Daten dienen aktualliseiert auch die Header der Datendateien, so dass sie die Daten des CHPT festhalten
CKPT & ARCH Checkpoint-Prozess legt periodisch Sicherheitspunkte an, die nach einem Absturz zum Reconstruieren der Daten dienen aktualliseiert auch die Header der Datendateien, so dass sie die Daten des CHPT festhalten Archiver Prozess ist ein optionaler Prozess (existiert nur dann, wenn die Datenbank im ARCHIVELOG-Modus betrieben wird) sichert voll geschriebene Redolog-Dateien in ein dafür konfiguriertes Verzeichnis
Recoverer Prozess Die Aufgabe des Recoverer Prozesses ist es die Fehler, die bei den verteilten Transaktionen auftretten, zu beheben. Die Verbindung zu einer anderen in die verteilte Transaktion eingebundene Insanz wird automatisch aufgebaut. Beim Fehlschlag der Verbindung wird diese nach einer gewissen Zeit wiederaufgebaut.
Systemmonitor Prozess SMON dient hauptsächlich zur Wiederherstellung einer Oracle-Instanz nach dem Absturz löscht nicht mehr verwendete, temporäre Segmente kontrolliert regelmäßig, ob er gebraucht wird wird auch durch andere Prozesse im Falle einer auszuführenden Aufgabe aufgerufen
Prozessmonitor Prozess PMON überwacht die Aktivität aller auf die Oracle-Instanz zugreifende Prozesse und und startet die, falls ein Fehler auftritt, neu. Dazu schaltet er alle Ressoursen frei, die der fehlgeschlagene Prozess benötigt hat. Gleichzeitig werden alle durch diesen Prozess angelegte Sperren freigegeben und alle nicht beendete Transaktionen zurückgesetzt. Wie SMON kontrolliert PMON regelmäßich, ob Aufgaben zu erledigen sind.
Redo Log Buffer Shared Pool Java Pool & Large Pool Die SGA setzt sich aus folgenden Strukturen zusammen: (Datenbankpufferspeicher) Redo Log Buffer (Wiederherstellungsprotokollpuffer) Shared Pool (der geteilte Speicherraum) * Library Cache * Data Dictionary Cache (Speicher für den Datenbankkatalog) Java Pool (Javaspeicherraum) Large Pool (der große Speicherraum)
Redo Log Buffer Shared Pool Java Pool & Large Pool Datenbankpufferspeicher Im werden die zuletzt genutzten Datenblöcke gespeichert. Falls ein für eine Anfrage benötigter Datenblock nicht im Buffer gefunden wird, wird er aus den data files gelesen und eine Kopie im abgelegt.
Redo Log Buffer Shared Pool Java Pool & Large Pool Datenbankpufferspeicher Im werden die zuletzt genutzten Datenblöcke gespeichert. Falls ein für eine Anfrage benötigter Datenblock nicht im Buffer gefunden wird, wird er aus den data files gelesen und eine Kopie im abgelegt. Buffer-Arten: Dirty Buffer Free Buffer Pinned Buffer
Redo Log Buffer Shared Pool Java Pool & Large Pool Datenbankpufferspeicher Im werden die zuletzt genutzten Datenblöcke gespeichert. Falls ein für eine Anfrage benötigter Datenblock nicht im Buffer gefunden wird, wird er aus den data files gelesen und eine Kopie im abgelegt. Buffer-Arten: Dirty Buffer Free Buffer Pinned Buffer Verwaltung: Write List (Dirty Buffer List) LRU-Liste (Least Recently Used List)
Redo Log Buffer Oracle Instanz Redo Log Buffer Shared Pool Java Pool & Large Pool Wiederherstellungsprotokollpuffer Der Redo Log Buffer hält alle mittels CREATE-, UPDATE-, INSERT-, DELETE-, DROP- und ALTER-Anweisungen gemachte Änderungen für die Redo-Log-Dateien. Beim Pufferüberlauf werden die Redo-Einträge mittels des LGWR in die log files geschrieben und der Puffer wird wieder freigegeben. Die Größe des Redo Log Buffers lässt sich über die Konstante LOG_BUFFER bestimmen.
Shared Pool Oracle Instanz Redo Log Buffer Shared Pool Java Pool & Large Pool Der Shared Pool wird in zwei Bereiche unterteilt: der Library Cache und der Data Dictionary Cache. Library Cache Der Library Cache enthält SQL-Anweisungen, PL/SQL-Prozeduren und PL/SQL-Pakete. Data Dictionary Cache Der Data Dictionary Cache speichert Objekte aus dem Data Dictionary (Datenbankkatalog). Der Datenbankkatalog ist eine Sammlung von Tabellen, in denen die Struktur der Datenbamk gespeichert wird.
Java Pool & Large Pool Redo Log Buffer Shared Pool Java Pool & Large Pool Java Pool Der Java Pool ist für die Zwischenspeicherung von Java Code zuständig JAVA_POOL_SIZE definiert die Größe des Java Pools Large Pool Im Large Pool werden Speicherstrukturen verwaltet, die man nicht direkt zu SQL zuordnen kann LARGE_POOL_SIZE definiert die Größe des Large Pools
Redo Log Buffer Shared Pool Java Pool & Large Pool Vielen Dank für Ihre Aufmerksamkeit!