Wiederherstellung: Fehlen eines inaktiven Online-Redo-Logs 

Fehlt nur ein Mitglied einer inaktiven Online-Redo-Log-Gruppe, können Sie das im vorigen Abschnitt beschriebene Wiederherstellungsverfahren verwenden. Erfahrene Datenbankadministratoren können auch bei laufender Datenbank diesen Fehler beheben. Lesen Sie dazu die entsprechende ORACLE-Dokumentation.

Etwas anders verläuft die Wiederherstellung nach Eintreten folgender Situation:

Die Datenbank steht, da ein Redo-Log-Dateiwechsel (Redo-Log-Switch) auf eine bereits archivierte inaktive Redo-Log-Gruppe mißglückte. Alle Mitglieder dieser inaktiven Online-Redo-Log-Gruppe können weder gelesen noch beschrieben werden.

Ist das Problem temporärer Natur (z.B. Berechtigung falsch gesetzt), so muß es lediglich behoben werden und die Gruppe kann anschließend wiederverwendet werden. Sind die Dateien jedoch zerstört, kann die Gruppe nicht wiederverwendet werden.

Es gehen keine Daten verloren, sofern die fehlende Redo-Log-Gruppe bereits vollständig archiviert wurde und die archivierte Kopie gelesen werden kann.

Wiederherstellungsverfahren

Verfahren Sie bei der Wiederherstellung wie folgt:

  1. Fahren Sie das Datenbanksystem mit folgendem SVRMGR-Kommando herunter:
  2. shutdown abort

    ABORT wird benötigt, weil das Datenbanksystem aufgrund der beschädigten Gruppe keinen ordnungsgemäßen Shutdown durchführen kann.

  3. Stellen Sie fest, welche Datei fehlt und suchen Sie in den ALERT- und Trace-Dateien nach der Ursache für den Verlust der Redo-Log-Dateien.
  4. Bringen Sie die Datenbank in den Mountzustand. Geben Sie dazu folgende SVRMGR-Kommandos ein:
  5. connect internal

    startup mount

  6. Wenn die Datenbank im ARCHIVELOG-Modus betrieben wird und die Archivierung der beschädigten Online-Redo-Log-Gruppe noch nicht abgeschlossen war, muß vor dem Löschen der defekten Gruppe zeitweise in den NOARCHIVELOG-Modus umgeschaltet werden, da sonst das Löschen abgewiesen wird:
  7. alter database noarchivelog;

  8. Die beschädigten Online-Redo-Log-Dateien können nun als Gruppe mittels
  9. alter database drop group <Gruppennummer>;

    oder als einzelne Dateien mit

    alter database drop logfile '<Name der Datei>' [,'<Name der Datei>'];

    gelöscht werden.

  10. Die neuen Online-Redo-Log-Dateien (um die beschädigten und inzwischen gelöschten zu ersetzen) erstellen Sie mittels
  11. alter database add logfile '<vollständiger Dateiname>';

  12. Falls die Datenbank während dieser Aktionen im NOARCHIVELOG-Modus war, müssen Sie die Datenbank jetzt wieder in den ARCHIVELOG-Modus bringen:
  13. alter database archivelog;

  14. Wenn die Datenbank im ARCHIVELOG-Modus betrieben wird und die Archivierung der Online-Redo-Log-Gruppe zum Zeitpunkt des Ausfalls noch nicht abgeschlossen war, sollte nachfolgend unbedingt eine Offline-Sicherung der gesamten Datenbank durchgeführt werden, da die Offline-Redo-Log-Kette eine Lücke aufweist. Das ist notwendig, da sonst im Falle eines weiteren Mediafehlers nur eine unvollständige Wiederherstellung möglich wäre.