Wiederherstellung: Fehlen eines Index-Tablespaces 

Generell wird ein Index-Tablespace von ORACLE wie ein Benutzer-Tablespace behandelt. Sie können also das beschriebene Wiederherstellungsverfahren für einen Benutzer-Tablespace verwenden. Allerdings gibt es in einer SAP-Datenbank auch eine andere Wiederherstellungsmöglichkeit, die hier kurz skizziert werden soll.

Wiederherstellungsverfahren

  1. Schließen Sie Ihre Datenbank mit folgendem SVRMGR-Kommando:
  2. shutdown abort

  3. Stellen Sie fest, welche Datendatei von dem Media-Fehler betroffen ist. Nutzen Sie dazu die Information in den ALERT- und Trace-Dateien und/oder auch die Check-Funktion des SAPDBA-Recovery-Menüs.
  4. Bringen Sie die Datenbank in den Mountzustand. Geben Sie dazu folgende SVRMGR-Kommandos ein:
  5. connect internal

    startup mount

  6. Setzen Sie die Datendateien OFFLINE mittels:
  7. alter database datafile '<vollständiger Dateiname>' offline;

  8. Öffnen Sie die Datenbank mittels
  9. alter database open;

  10. Überprüfen Sie als nächstes, daß keine Tabellen im Index-Tablespace enthalten sind (Auswertung kann über die ORACLE-Tabellen DBA_SEGMENTS und DBA_TABLES erfolgen).
  11. Exportieren Sie den betroffenen Index-Tablespace mit der entsprechenden SAPDBA-Funktion (Export von Tabellen- und Indexdefinitionen mit den Optionen compress extents: no, Use SAP-DDIC for NEXT: no, Reduce object size: no, Change storage manually: no).
  12. Ermitteln Sie die Standard-Speicherparameter, die für diesen Tablespace gelten anhand der ORACLE-Tabelle DBA_TABLESPACES. Notieren Sie sich diese Werte.
  13. Löschen Sie den Index-Tablespace und legen Sie ihn neu an durch die Eingabe folgender SVRMGR-Kommandos:
  14. alter tablespace <Tablespace-Name> offline;
    drop tablespace <Tablespace-Name> including contents;

    Löschen Sie die zum Tablespace gehörenden Dateien auf Betriebssystemebene, falls diese noch existieren sollten.

    create tablespace <Tablespace-Name>
    datafile '<vollständiger Dateiname>' size <n>M
    default storage (<Angaben zu Speicherparametern>);

    Detailinformation zu diesen ORACLE-Befehlen entnehmen Sie bitte Ihrer ORACLE-Dokumentation.

  15. Nutzen Sie die SAPDBA-Import-Funktionalität, um die Indizes zu importieren (Script ind<TSP>.sql) . Damit ist der Index-Tablespace wiederhergestellt.