Oracle Datenbank: Architektur und Komponenten
Classified in Informatik
Written at on Deutsch with a size of 7,09 KB.
Übersicht über die Dateien
- Kontrolldatei: Enthält Informationen über die physischen Dateien, den Namen der Datenbank, die Blockgrößen und Informationen zur Wiederherstellung. Sie ist erforderlich, um die Datenbank zu öffnen.
- Datendatei: Enthält die Daten, die von Endbenutzeranwendungen verwendet werden.
- Redo-Log-Datei: Zeichnet alle Änderungen an der Datenbank und den Wiederherstellungsstatus auf.
- PFILE und SPFILE: Enthalten Einstellungen der SGA und optionale Funktionen der Oracle-Hintergrundprozesse.
Oracle Instanz und Server
- Eine Oracle-Instanz besteht aus einer Speicherarchitektur (SGA) und Hintergrundprozessen.
- Ein Oracle-Server besteht aus einer Instanz und einer Oracle-Datenbank.
- Eine Instanz ist eine temporäre Struktur, während die Datenbank auf physischen Dateien (Kontrolldatei, Datendatei und Redo-Log-Datei) gespeichert wird.
Hintergrundprozesse
- PMON (Process Monitor): Bereinigt die Verbindungen zur Datenbank, wenn diese fehlschlagen.
- SMON (System Monitor): Führt die Wiederherstellung der Instanz nach einem Absturz durch.
- DBWn (Database Writer): Schreibt geänderte Speicherblöcke aus der SGA in die Datendateien.
- LGWR (Log Writer): Schreibt Informationen aus dem Redo-Log-Puffer der SGA in die Redo-Log-Dateien.
- CKPT (Checkpoint): Aktualisiert die Datenbankdateien nach Checkpoint-Ereignissen.
Speicherbereiche: PGA und SGA
- PGA (Program Global Area): Ein Speicherbereich, der Daten und Kontrollinformationen für jeden verbundenen Benutzerprozess enthält. Es handelt sich um einen nicht-gemeinsam genutzten Speicherbereich.
- SGA (System Global Area): Ein gemeinsam genutzter Speicherbereich, der Daten und Kontrollinformationen für eine bestimmte Oracle-Instanz enthält. Er besteht aus:
- Shared Pool: Speichert den Cache für SQL- und PL/SQL-Anweisungen.
- Library Cache: Speichert den Text der Anweisungen.
- Dictionary Cache: Speichert die neuesten Informationen über die Verwendung des Data Dictionary.
- Database Buffer Cache: Enthält die zuletzt geladenen Datenblöcke.
- Redo-Log-Puffer: Speichert Informationen über Transaktionen für Wiederherstellungszwecke.
Tablespace und Data Dictionary
- Ein Tablespace kann eine oder mehrere Datendateien belegen.
- Data Dictionary: Eine Reihe von Tabellen und Sichten, die Informationen über die Bestandteile der Datenbank sowie logische und physische Strukturen speichern. Es enthält zwei Arten von Objekten:
- Basistabellen: Werden automatisch mit der Anweisung
CREATE DATABASE
erstellt. - Sichten: Werden durch Ausführen des Skripts
catalog.sql
erstellt.
- Basistabellen: Werden automatisch mit der Anweisung
- Das Data Dictionary enthält Informationen über Tabellen, Indizes, Synonyme, Prozeduren, Funktionen, Pakete, Trigger, Benutzer und Berechtigungen.
- Data Dictionary Sichten:
- DBA: Alle Objekte in der Datenbank.
- ALL: Objekte, auf die der Benutzer online zugreifen kann.
- USER: Objekte im Besitz des verbundenen Benutzers.
Kontrolldatei
- Eine Binärdatei, ohne die die Datenbank nicht gestartet werden kann.
- Sie wird gelesen, um die Datenbank zu mounten.
- Sie ist mit einer einzelnen Datenbank verbunden.
- Enthält Informationen wie den Datenbanknamen, das Datum, den Namen des Tablespace, den Namen und den Speicherort der Kontrolldateien und Redo-Log-Dateien, die laufende Sequenznummer, Checkpoint-Informationen und Backup-Informationen.
Backup der Kontrolldatei
- Stoppen der Datenbank: Es wird eine physische Kopie der Datei auf Betriebssystemebene erstellt.
- Die neue Kopie muss in der Datei
init.ora
im ParameterCONTROL_FILES
angegeben werden. - Unterstützung nach einer Änderung an der Datenbank:
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
- Diese Anweisung generiert eine Datei mit den SQL-Anweisungen, die zum Neuerstellen der Kontrolldatei erforderlich sind.
Redo-Log-Datei
- Enthält Informationen über Transaktionen, um die Datenbank im Falle eines Fehlers wiederherzustellen.
- Eine Datenbank benötigt mindestens zwei Redo-Log-Gruppen.
- Log-Switch: Tritt auf, wenn LGWR eine Redo-Log-Gruppe füllt und zur nächsten wechselt.
ALTER SYSTEM SWITCH LOGFILE;
Erzwingt einen Log-Switch.ALTER SYSTEM CHECKPOINT;
Erzwingt einen Checkpoint.- LGWR schreibt bei einem
COMMIT
oder alle drei Sekunden in die Redo-Log-Dateien. - Hinzufügen/Entfernen einer Redo-Log-Gruppe:
ALTER DATABASE [DB] ADD LOGFILE [GROUP];
ALTER DATABASE [DB] DROP LOGFILE [GROUP];
- Entfernen eines Mitglieds:
ALTER DATABASE [DB] DROP LOGFILE MEMBER Dateiname;
- NOARCHIVELOG: Redo-Log-Dateien werden jedes Mal neu geschrieben, wenn die Datei voll ist und ein Log-Switch auftritt. LGWR überschreibt eine Gruppe erst, nachdem der Checkpoint für die Gruppe durchgeführt wurde.
- ARCHIVELOG: Volle Gruppen werden inaktiv und archiviert. Dies ermöglicht die Erstellung physischer Backups, ohne die Datenbank herunterfahren zu müssen, und die Wiederherstellung der Informationen bis zu einem bestimmten Zeitpunkt.
Logische und physische Struktur
- Logische Struktur: Datenbank, Tablespace, Segment, Extent, Oracle-Block.
- Physische Struktur: Datendateien, Redo-Log-Dateien und Kontrolldateien.
- Tablespace-Typen: Daten, Index, Rollback, Undo, Temporär.
- Undo-Tablespace: Darf nur aus Rollback-Segmenten bestehen.
- Temporärer Tablespace: Wird verwendet, wenn der Speicher voll ist, z. B. für
ORDER BY
, Joins und zum Erstellen von Indizes, die nicht in den Speicher passen.
Benutzerverwaltung
ALTER USER <Benutzer>
IDENTIFIED BY <Passwort> / EXTERNALLY
DEFAULT TABLESPACE <Tablespace>
TEMPORARY TABLESPACE <Tablespace>
QUOTA <xx>K / UNLIMITED ON <Tablespace>
DEFAULT ROLE <Rolle> / ALL / ALL EXCEPT <Rolle> / NONE
PROFILE <Profil>
PASSWORD EXPIRE
ACCOUNT LOCK / UNLOCK;