Recovery von Datenbanken mit verlorenen oder beschädigten Kontrolldateien

Geht eine Kontrolldatei verloren oder wird sie beschädigt, müssen Sie zunächst die Datenbank herunterfahren und eine Recovery für die Kontrolldateien durchführen, bevor Sie einen Restore der Datenbank durchführen können. Um die Datenbank herunterzufahren und für die Kontrolldateien und anschließend die Datenbank ein Recovery durchzuführen, gehen Sie folgendermaßen vor:

  1. Fahren Sie die Datenbank herunter, indem Sie den folgenden Befehl bei der SVRMGR- oder SQL*Plus-Eingabeaufforderung eingeben:
    SHUTDOWN;
    
  2. Starten und laden Sie die Datenbank bei der entsprechenden Aufforderung, und leiten Sie den Recovery-Vorgang ein.
  3. Sie werden von Oracle zur Eingabe der Protokolldateinamen aufgefordert. Oracle sucht zunächst nach den Archivprotokolldateien und bietet automatisch die richtigen Namen für die vorhandenen an. Werden die benötigten Archivprotokolldateien von Oracle nicht gefunden, müssen Sie die benötigten Online-Redo-Protokolle manuell anwenden.

    Bei manueller Anwendung der Online-Redo-Protokolle müssen Sie den vollständigen Pfad- und Dateinamen angeben. Wenn Sie ein ungültiges Protokoll eingeben, geben Sie den folgenden Befehl erneut ein:

    RECOVER DATABASE USING BACKUP CONTROLFILE;
    

    Geben Sie an der Befehlszeile den korrekten Namen der Redo-Protokolldatei ein. Fahren Sie mit diesem Vorgang fort, bis alle Protokolle erfolgreich von Oracle angewendet wurden.

  4. Um die Datenbank wieder online zu schalten und die Protokolle zurückzusetzen, geben Sie bei der SVRMGR- oder SQL-Plus-Eingabeaufforderung folgenden Befehl ein:
    ALTER DATABASE OPEN RESETLOGS;
    
  5. Löschen Sie im Verzeichnis, in dem die archivierten Redo-Protokolle gespeichert sind, alle Protokolldateien.
  6. Falls einige Tablespaces noch offline sind, schalten Sie sie online, indem Sie den folgenden Befehl bei der SVRMGR- oder SQL*Plus-Eingabeaufforderung eingeben:
    ALTER TABLESPACE TABLESPACE_NAME ONLINE;
    
  7. Wenn Sie RMAN verwenden, um ein Recovery für eine vollständige Datenbank mit gesicherten Kontrolldateien durchzuführen, müssen Sie die Datenbankinformationen in RMAN neu synchronisieren, damit sie der kürzlich via Recovery wiederhergestellten Datenbank entsprechen. Um die Datenbankinformationen erneut zu synchronisieren, gehen Sie folgendermaßen vor:
    1. Melden Sie sich als Oracle-Benutzer an.
    2. Geben Sie den folgenden Befehl ein, um die Oracle-SID auf die SID der via Recovery wiederhergestellten Datenbank zu setzen:
      ORACLE_SID=database SID
      
    3. Geben Sie die folgenden Befehle ein, um den Vorgang abzuschließen:
      rman target dbuser/ dbuserpassword rcvcat catowner/catowner 
      password@rman service name
      reset database
      

      Hierbei gilt:

      • dbuser ist der Benutzer, der über DBA-Rechte für die via Recovery wiederhergestellte Datenbank verfügt.
      • dbuserpassword ist das Kennwort von dbuser.
      • catowner ist der Oracle-Benutzername für den Besitzer des Oracle RMAN-Katalogs.
      • rman service name ist der Name des Dienstes, der für den Zugriff auf die Datenbank verwendet wird, auf der der RMAN-Katalog installiert ist.