Was ist Was bei Oracle: Architektur
Montag, 9. November 2009 | Autor: Michael Zimmer
Hallo,
kommen Sie auch durcheinander bei den Begriffen: Datenbank, Instanz, Server Prozesse, Listener oder Datenfiles? Besteht eine RAC (Real Application Cluster) nun aus zwei Datenbanken oder aus einer Datenbank mit zwei oder mehreren Instanzen?
Versuchen wir uns mal an einer Begriffsbestimmung (keine Sorge, es wird gelingen und sogar richtig sein):
Bei Oracle besteht ein Datenbanksystem aus zwei Teilen:
- Datenbank mit Data-, Control- und Redo Log Files
- Datenbankmanagementsystem (DBMS)
Datenbank Dateien:
Die Dateien liegen im Dateisystem, werden in RAW Devices abgelegt oder auch durch Automatic Storage Managment (ASM) in verwalteten Disk-Gruppen bearbeitet.
- Control-Files
Davon gibt es mehrere mit selbem Inhalt: Pfade und Namen aller Data-Files und Redo-Log-Files, System-Change-Number (SCN) und alle Informationen zur Struktur und zum Zustand der DB. Eventuel auch Infos zum RecoveryManager (RMAN).
- Data-Files
Das sind die eigentlichen Datendateien mit allen Inhalten der Datenbank.
- Redo-Log-Files
Das sind die Transaktions-Logs in die alle Änderungen geschrieben werden. Beim Crash der DB werden hieraus (rollforward) alle Info’s zur Wiederherstellung nach dem letzten Check-Point gezogen.
Datenbankmanagementsystem:
- Instanz: mindesten eine ist für eine offene DB nötig. Zwei oder mehrere gibt es nur im RAC.
Die Instanz besteht aus Arbeitsspeicher im Shared Memory sowie aus zahlreichen Hintergrundprozessen. Als da währen:
- Database Writer (DBWR): Schreibt Änderungen der Daten Blockweise in die Data-Files
- Log Writer (LGWR): Schreibt die Redo-Log-Files
- Archiver (ARCH): wenn die DB im Archive-Log-Modus betrieben wird, schreibt er die Redo-Logs in die Archive Logs
- System Monitor (SMON): Sorgt für die Konsistenz der DB. Control Files, Header der DB Files und der Redo Files werden geschrieben und beim Start der DB kontrolliert und ein eventuell nötiges Crash Recovery eingeleitet.
- Prozess Monitor (PMON): überwacht alle Oracle Prozesse.
- Listener-Prozesse
bearbeiten Verbindungsanfragen und starten Server Prozesse.
- Oracle Server Prozesse
diese nehmen die Anweisungen durch Data Manipulation Language (DML) in SQL (Structured Query Language) oder anderen Sprachen entgegen, führen sie aus und liefern Ergebnisdaten zurück. Entweder greifen die Server Prozesse direkt auf die Datafiles zu, oder es werden Hintergrundprozesse der Instanz verwendet.
So, jetzt wissen Sie, das eine Instanz nur ein Teil eines Datenbank Systems bei Oracle ist. Natürlich werden die Begriffe bei anderen Datenbank Systemen wie zum Beispiel DB2 anders benutzt. Sonst macht’s ja keinen Spaß und ich hab nichts mehr zu schreiben
Viele Grüße
Michael Zimmer




