Kapitel 3
Die Oracle-Datenbankarchitektur
92
Damit ist das Prinzip klar, wie Oracle die Speicherbereiche dynamisch zuweist
und auch Hauptspeicher zwischen Shared Memory und Private Memory ver-
schiebt.
Sobald genügend tmpfs auf /dev/shm wirder gemountet ist, lässt sich die Instanz
mit eingeschaltetem AMM wieder normal starten.
3.2 Prozesse und Abläufe
In den vorhergehenden Abschnitten haben Sie die Datenbankarchitektur unter
den Blickwinkeln Datenbank und Instanz kennengelernt. Dahinter verbergen sich
natürlich eine ganze Reihe von komplexen Prozessen und Abläufen. Mit den wich-
tigsten wollen wir uns in diesem Abschnitt beschäftigen.
3.2.1 Die Oracle-Hintergrundprozesse
Die Hintergrundprozesse stellen die Verbindung zwischen den Dateien der
Datenbank und den Hauptspeicherstrukturen der Instanz her. Sie sind das
Gehirn des Datenbanksystems und steuern alle Abläufe. Auch wenn sie vonein-
ander unabhängig laufen findet eine Kommunikation zwischen den Prozessen
statt. Mit dem Hochfahren der Instanz werden die Kernprozesse gestartet.
Bestimmte Prozesse werden nur dann gestartet, wenn das zugehörige Feature
aktiviert ist.
Hinweis
Stellen Sie sicher, dass ein hinreichend großes temporäres Dateisystem auf /dev/
shm gemountet ist. Andernfalls können Sie AMM nicht einsetzen und erhalten
beim Start der Instanz die Fehlermeldung ORA-00845.
# umount /dev/shm
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
Listing 3.17: Starten der Instanz ohne tmpfs
# mount -t tmpfs shmfs -o size=1600m /dev/shm
SQL> startup
ORACLE instance started.
Total System Global Area 1389391872 bytes
. . .
Listing 3.18: tmpfs auf /dev/shm zuweisen
3.2
Prozesse und Abläufe
93
Abb. 3.6: Hintergrundprozesse der Oracle-Datenbank
In einer Client/Server-Umgebung wird für jeden Client, der eine Verbindung zur
Datenbank herstellt, ein Client/Server-Prozess auf dem Datenbankserver gestar-
tet. Diese Prozesse sind keine Hintergrundprozesse der Datenbank.
Jeder Hintergrundprozess übernimmt bestimmte Aufgaben im gesamten Prozes-
sablauf der Datenbank. Nur wenn alle notwendigen Prozesse fehlerfrei laufen, ist
Kapitel 3
Die Oracle-Datenbankarchitektur
94
die Datenbank voll funktionsfähig. Die wichtigsten Prozesse sind in der folgenden
Liste beschrieben:
Der System Monitor (SMON) führt beim Start der Instanz, falls erforderlich, ein
Instance oder Crash Recovery durch. Weiterhin ist der SMON für das Löschen
von temporären Segmenten, die nicht mehr benutzt werden, verantwortlich.
Der SMON wacht regelmäßig auf und kontrolliert, ob er gebraucht wird. Ande-
re Prozesse rufen den SMON auf, wenn sie feststellen, dass er eine Aufgabe
ausführen muss.
Der Process Monitor (PMON) entfernt Benutzerprozesse, die nicht normal be-
endet wurden. Gleichzeitig gibt er alle von den Prozessen benutzten Ressour-
cen frei. So wie der SMON wacht der PMON regelmäßig auf und überprüft, ob
Aufgaben zu erledigen sind.
Der Database Writer (DBWn) ist verantwortlich für die Verwaltung des Buffer
Cache. Seine Hauptaufgabe ist es, geänderte Datenblöcke aus dem Buffer Cache
auf Disk zu schreiben. Standardmäßig schreibt er die Blöcke zuerst, die am En-
de der LRU-Liste stehen. Zur Verbesserung der Performance können mehrere
Database Writer-Prozesse gestartet werden. Neben einer periodischen Überprü-
fung wird der Database Writer aus folgenden Situationen heraus aktiviert:
Ein Client/Server-Prozess kann keinen freien Buffer finden und erreicht
den Schwellenwert für das Timeout. Daraufhin benachrichtigt er den Data-
base Writer.
Wenn ein Checkpoint ausgeführt wird.
Checkpoints zwingen den Database Writer-Prozess, alle Dirty Buffer auf Disk
zu schreiben. Der Checkpoint Process (CKPT) ändert die Header aller Datafiles
und der Kontrolldateien und trägt die Checkpoint SCN ein. Ein Checkpoint
wird durch folgende Situationen ausgelöst:
Jeder Log Switch der Online Redo Log-Dateien löst einen Checkpoint aus.
Die Initialisierungsparameter LOG_CHECKPOINT_INTERVAL, LOG_
CHECKPOINT_TIMEOUT und FAST_START_MTTR_TARGET haben
Einfluss auf die Häufigkeit von Checkpoints.
Der Log Writer (LGWR) ist verantwortlich für die Verwaltung des Inhalts des
Redo Log Buffer. Er schreibt die Redo Log Buffer in die Online Redo Log-Datei-
en auf Disk. Der Log Writer wird in den folgenden Situationen aktiviert:
Durch eine COMMIT-Anweisung in einer Session
Alle drei Sekunden
Wenn der Redo Log Buffer zu einem Drittel gefüllt ist
Wenn der Database Writer Datenblöcke auf die Disk schreibt
Der Recovery Process (RECO) löst Fehler auf, die in Zusammenhang mit verteil-
ten Transaktionen stehen. Er verbindet sich zu den Datenbanken, die in die
Transaktionen eingebunden sind.

Get Oracle 12c - Das umfassende Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.