Wiederherstellung: Fehlen eines Benutzer-Tablespaces 

In einem Tablespace fehlen eine oder mehrere Datendateien.

Ein Benutzer-Tablespace enthält weder Daten des Data Dictionary noch aktive Rollback-Segmente oder temporäre Segmente.

Der Benutzer erhält entsprechende ORACLE-Fehlermeldungen, wenn er auf den betroffenen Tablespace zugreifen möchte. Fehlerinformation en werden auch in die ALERT- und Trace-Dateien der Datenbank geschrieben.

Wenn nur ein Benutzer-Tablespace verlorengeht, könnten Sie ein Tablespace Recovery bei geöffneter Datenbank durchführen. Allerdings werden Benutzer-Tablespaces im R/3-System so intensiv genutzt, daß dieses Wiederherstellungsverfahren nur für erfahrene Datenbankadministratoren zu empfehlen ist. Der Verlust eines Benutzer-Tablespace hat für das SAP-Datenbanksystem oftmals ähnliche Folgen wie der Verlust des SYSTEM-Tablespaces, da die Auswirkungen des Verlustes dieses einen Tablespaces sehr komplex sind.

Eine volle Wiederherstellung der Datenbank ist möglich, wenn Sie über eine Sicherungskopie der entsprechenden Tablespaces und über alle Redo-Log-Dateien verfügen, die seit der Sicherung geschrieben wurde.

Wiederherstellungsverfahren

Wenn Sie mit einer SAP-Datenbank arbeiten, sollten Sie vor Beginn einer Wiederherstellung das R/3-System herunterfahren. Tabellen werden in einem so hohen Maß gemeinsam genutzt, daß es im allgemeinen nicht möglich ist, den betroffenen Tablespace bei laufendem R/3-System auf OFFLINE zu setzen, ohne die Aktivitäten vieler Benutzer abzubrechen.

In der folgenden Darstellung finden Sie Hinweise zum Wiederherstellungsverfahren bei geschlossener Datenbank. Informationen zu Wiederherstellungsmöglichkeiten bei geöffneter Datenbank finden Sie in der ORACLE-Dokumentation.

Verfahren Sie bei der Wiederherstellung wie folgt:

  1. Wenn das Datenbanksystem noch in Betrieb ist, fahren Sie es mit folgendem SVRMGR-Kommando herunter:
  2. shutdown abort

    Sie müssen die Datenbank mit ABORT herunterfahren, da die fehlenden Dateien nicht geschlossen werden können.

  3. Stellen Sie die Ursache des Problems fest, indem Sie die ALERT- und Trace-Dateien überprüfen.
  4. Oft ist eine ganze Platte ausgefallen, und Sie müssen mehr als einen Tablespace wiederherstellen.

  5. Verwenden Sie die Protokolldateien, die durch die SAP-Dienstprogramme BRBACKUP und BRARCHIVE erzeugt wurden, um den oder die Datenträger ausfindig zu machen, der folgende Dateien enthält:
  6. – Letzte Sicherung des (oder der) Tablespaces, die verlorengingen.

    – Offline-Redo-Log-Dateien aller Instanzen, die seit dem Zeitpunkt der letzten Sicherung archiviert wurden.

    Es ist wichtig, daß Sie die Lage der verlorenen Dateien identifizieren. Diese Informationen finden Sie am Anfang des detaillierten Protokolls der Sicherung, die Sie verwenden.

  7. Laden Sie nur beschädigte oder verlorengegangene Dateien zurück. Dadurch können Sie den Zeitbedarf für die Wiederherstellung minimieren.
  8. Sie müssen auch die archivierten Offline-Redo-Log-Dateien aller Instanzen zurückladen, die für die Wiederherstellung erforderlich sind.

    Nutzen Sie dazu z.B. das SAP-Dienstprogramm BRRESTORE (siehe Kommandooptionen für BRRESTORE).

  9. Bringen Sie die Datenbank in den Mountzustand. Geben Sie dazu folgende SVRMGR-Kommandos ein:
  10. connect internal

    startup mount

  11. Wenn Sie gesicherte Dateien nicht in ihre ursprünglichen Verzeichnisse zurückladen konnten oder Dateinamen ändern mußten, müssen Sie die Steuerdatei aktualisieren.
  12. Verwenden Sie das folgende Kommando, wenn Sie einen Pfad ändern möchten:

    alter database rename file '<Dateiname>' to '<Dateiname>';

    Siehe Steuerdatei aktualisieren.

  13. Wenn die Datendateien der Datenbank beim Auftreten des Fehlers auf den Status OFFLINE gesetzt wurden, ändern Sie den Status der Dateien in der Steuerdatei auf ONLINE.
  14. Um die betreffenden Dateien zu finden, suchen Sie in der ALERT-Datei nach "offline".

    Wenn Sie den Status einer Datendatei in der Steuerdatei ändern möchten, verwenden Sie folgendes SVRMGR-Kommando:

    alter database datafile '<Dateiname>' online;

    Siehe Steuerdatei aktualisieren.

  15. Starten Sie die Wiederherstellung mit folgendem SVRMGR-Kommando:
  16. recover database;

    Geben Sie nach Aufforderung die Pfade der Offline-Redo-Log-Dateien an, die benötigt werden, um die Sicherung zu aktualisieren.

    Das System verarbeitet die Online-Redo-Log-Dateien automatisch.

    Auf die Alternativen: recover tablespace und recover datafile für das Wiederherstellen der Datenbank wurde an dieser Stelle nicht eingegangen, da das Datenbanksystem heruntergefahren werden sollte, wenn ein Fehler auftritt (SAP-Empfehlung). Das Kommando recover database führt nur die Aktionen aus, die nötig sind, um die Datenbank wiederherzustellen, und dauert daher nicht wesentlich länger als die Kommandos recover tablespace und recover datafile .

    Informationen über recover tablespace und recover datafile finden Sie in Ihrer ORACLE-Dokumentation.

  17. Wenn Sie die Meldung recovery complete erhalten haben, starten Sie das Datenbanksystem mit dem SVRMGR-Kommando

alter database open;

Über weitere Detailfragen informieren Sie sich bitte ausführlich in Ihrer ORACLE-Dokumentation.

Generell sollten Sie folgendes beachten: in den meisten Fällen kann ein Media-Fehler, der Datendateien eines Benutzer-Tablespaces betrifft, mit Hilfe des SAPDBA behoben werden. Nutzen Sie daher die SAPDBA-Recovery-Funktionen (siehe Wiederherstellung mit SAPDBA).