TAKTUM Logo


Oracle Schulung
Oracle Schulung

Oracle Starten und Stoppen: Datenbank-Zustände
Die Datenbankzustände einer Oracle-Datenbank-Instanz

Die Datenbankzustände werden durch die Befehle startup , shutdown und alter database geändert. Beim normalen Start werden alle Zustände durchlaufen bis OPEN erreicht ist. Die Zustandsveränderung mit alter database kann nur "vorwärts" um genau einen Schritt erfolgen:

Im Zustand NOMOUNT: alter database mount

Im Zustand MOUNT: alter database open

Die Datenbankzustände:

SHUTDOWN

Die Datenbank Instanz ist gestoppt und die Datenbank geschlossen. D.h. es laufen keine Oracle Prozesse, es ist kein Hauptspeicher allokiert und alle Datenbankdateien sind geschlossen. Ausnahme: Unter Windows NT / 2000 läuft der Service und belegt Resourcen.

NOMOUNT

Im Zustand NOMOUNT ist die Datenbank Instanz gestartet. D.h. die Prozesse (Windows: Threads) laufen und der Hauptspeicher (SGA) ist allokiert. Die Initialisierungsdatei ("initora") wurde gelesen, so dass diverse Informationen über die Datenbank bereits bekannt sind (z.B. wo sich die controlfiles) befinden.

Dieser Zustand wird normalerweise nicht manuell herbeigeführt. Lediglich für die Befehle create database, create controlfile , sowie für das Einschalten des Archivelog-Modus mit dem Befehl archive log start wird er benötigt.

MOUNT

In der Initialisierungsdatei sind die control files mit ihren Pfaden eingetragen. Mehrere Einträge bedeuten, dass die Dateien gespiegelt sind. Sie werden gelesen und abgeglichen. Sollten Differenzen zwischen den Dateien auftauchen erscheint eine Fehlermeldung und die Datenbank kann nicht gestartet werden. Der Administrator muss dass manuell durch kopieren dafür sorgen, dass alle Dateien identisch sind. Er sollte dazu die neueste Datei verwenden!

In den Control-Dateien sind Informationen über die eigentlichen Datenbankdateien abgelegt. Die Dateien sind aber noch nicht geöffnet, so dass in diesem Zustand einigen administrative Aufgaben durchgeführt werden.

Typisches Beispiel ist das Umbenennen bzw. verschieben von Dateien:

alter database rename file '<alter Dateiname inkl. Pfad>' to '<neuer Dateiname inkl. Pfad>';

Achtung! Es handelt sich nur um die Bekanntmachung eines neuen Namens. Deshalb ist vorher die Datei auf Betriebssystemebene umzubenennen bzw. zu kopieren.

OPEN

Jetzt werden alle Datenbankdateien inkl. Redo-Log-Dateien geöffnet und deren Konsistenz geprüft. Wenn die Datendateien nicht auf dem aktuellen Stand sind, weil z.B. zuletzt mit shutdown abort beendet wurde, so wird versucht mit Hilfe der Online-Redo-Log-Dateien den aktuellen Zustand wieder herzustellen. Sollte dieses nicht gelingen, so ist ein Media Recovery und damit manuelles Eingreifen notwendig.



Stichwörter

Datenbank Zustand Zustände alter database mount nomount open Prozesse Datendateien umbenennen verschieben