TAKTUM Logo


Oracle Schulung
Oracle Schulung

Oracle Backup Tutorial: Archive-Log-Mode
Erklärungen zum Archivelog-Mode einer Oracle-Datenbank

Prinzip des Archivelog Modus / Redo Log Dateien:

Sämtliche Änderungen einer Transaktion werden vor dem Speichern in den Datendateien von einem speziellen Oracle Prozess "Log Writer" in sogenannten "Online Redo Log Dateien" abgelegt. Eine Oracle Datenbank besteht aus einer definierten Anzahl und einer definierten Grösse von Online Redo Log Dateien. Die Dateien werden zyklisch vom Log Writer beschrieben. Der Wechsel der Online Redo Log Dateien wird "Log Switch" genannt, hierbei erhält die neue Online Redo Log Datei eine eindeutige Nummer (Log Sequenz Nummer). Beim Wechsel einer bereits gefüllten Online Redo Log Datei gehen die dort gespeicherten Daten verloren. Details zu Redo-Log-Dateien

Ein Wiederherstellen der Daten ist nur möglich, wenn die gefüllten Redo Log Dateien archiviert werden. Dies geschieht im sogenannten Archivelog Modus und wird vom Oracle Prozess "ARCH" durchgeführt.

Befindet sich die Datenbank nicht im Archivelog Modus, kann keine Online Sicherung durchgeführt werden.

Die Durchführung des Befehls: alter tablespace begin backup; scheitert mit: "ORA-01123: cannot start online backup; media recovery not enabled"

Die Vorgehensweise zum Einschalten des Archivlog Modus ist wie folgt:

Prüfen, ob nicht schon aktiviert:

select name, log_mode from v$database;

NAME     LOG_MODE
-------- ------------------------------
PROD     NOARCHIVELOG

Initialisierungsparameter prüfen:

select value from v$parameter where name = 'log_archive_dest';

VALUE
-------------------------------------------------
/u01/app/oracle/product/ora816/rdbms

select value from v$parameter where name = 'log_archive_start';

VALUE
-------------------------------------------------
FALSE

Initialisierungsparameter anpassen (initora-Datei):

log_archive_dest = "/u03/oraarch/PROD"

log_archive_start = true

Datenbank stoppen und Archive Log Modus aktivieren

shutdown immediate

startup mount

alter database archivelog;

alter database open;

Prüfen, ob korrekt eingeschaltet:

select name, log_mode from v$database;

NAME     LOG_MODE
-------- ------------------------------
PROD     ARCHIVELOG

Für den folgenden Befehl muss man als SYSDBA angemeldet sein:

archive log list;
-------------------------------------------------
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u03/oraarch/PROD/
Oldest online log sequence 2167
Next log sequence to archive 2169
Current log sequence 2169

Die archivierten Dateien sind in zyklischen Abständen von der Festplatte zu entfernen. Kann der ARCH Prozess die Redo Log Datei nicht archivieren, bleibt die Datenbank stehen, wenn der Log Writer den Log Switch auf die noch nicht archivierte Datei durchführen will. Nachdem wieder Platz zur Verfügung gestellt wurde, läuft die Datenbank automatisch weiter.



Stichwörter

Datenbank database archivelog mode modus archive-log