RMAN: Datafile Recovery

Sie möchten eine einzelne Datenbankdatei mit dem Oracle Recovery Manager (RMAN) wiederherstellen? Und dies im laufenden Betetrieb der Datenbank? Dazu sind folgende Schritte erforderlich:

  • Offline-Setzen des betroffenen Tablespaces
  • Wiederherstellung der Datei aus der Sicherung (Restore)
  • Nachfahren der Transaktionslogs (Recovery)
  • Online-Setzen des betroffenen Tablespaces

Der betreffende Tablespace ist während des Restore und Recovery weder für Schreib- noch für Lesezugriffe verfügbar. Alle anderen Tablespaces können jedoch weiter genutzt werden. Sofern also mehrere Anwendungen in derselben Datenbank gehostet werden und diese Anwendungen Ihre Daten in unterschiedlichen Tablespaces speichern, kann hier auch im Online-Betrieb der Datenbank eine Wiederherstellung erfolgen.

Für kleine Datenbanken hat dieses Verfahren oft keine Relevanz. Hier wird meist die gesamte Datenbank während der Wiederherstellungsphase offline gesetzt. Anders verhält es sich bei großen Datenbanksystemen, in denen mehrere Anwendungen zusammengefasst wurden. Sie profitieren enorm vom Online-Restore und -Recovery: Hier können Anwendungsdaten isoliert zurückgesetzt oder wiederhergestellt werden - und dies ohne Seiteneffekte auf andere Anwendungsteile. 

Hier ein Beispielskript für die komplette Wiederherstellung:

RMAN: Restore und Recovery eines Datafile
RMAN> 
   run {
       allocate channel d1 type disk;
       sql "alter tablespace ts_data offline immediate";
       restore datafile 12;
       recover datafile 12;
       sql "alter tablespace ts_data online";
       release channel d1;
      }