Geschichte der 
  Familie Durben
History of 
  Family Durben
Tipps und Tricks für Oracle Datenbanken

Oracle11g: Data Recovery Advisor und Bandunterstützung
Ralf Durben, 05.02.2009

Mit der Oracle Datenbank 11g hat Oracle das Wiederherstellen (Recovery)  einer defekten Datenbank stark vereinfacht. Bis Oracle Datenbank 10g  hatte der Datenbankadministrator eine umfangreiche Menge von Befehlen um jeder Fehlersituation zu begegnen. Die Ausahl der richtigen Befehle  waren entscheidend für die Dauer des Recoverys.

Ab Oracle 11g ist alles viel einfacher: Die Datenbank erkennt  auftretende Fehler selbst und ermittelt die beste Methode zur Wiederherstellung. Damit benötigt der Datenbankadministrator nur noch  drei Kommandos zum Recovery:

list failure
advise failure
repair failure

Diese drei Befehle werden in RMAN verwendet, oder in grafischer Form in  Enterprise Manager über Buttonklicks. Eine detailierte Beschreibung findet man auch hier.

Wie so oft steckt der Teufel aber im Detail und so kam aus der Praxis  die folgende Frage auf:

Ein Datenbankadministrator hat eine Oracle 11g Datenbank ordnungsgemäß gesichert, einen Fehler produziert und benutzt nun die oben genannten  Kommandos. Das Kommando "list failure" funktioniert noch einwandfrei:

RMAN> list failure;
>>
>> List of Database Failures
>> =========================
>>
>> Failure ID Priority Status Time Detected Summary
>> ---------- -------- --------- --------------- -------
>> 3005 HIGH OPEN 2008-11-1510:53 One or more non-system
>> datafiles are missing
>> 2982 HIGH OPEN 2008-11-1510:34 One or more non-system
>> datafiles are corrupt

Das Kommando "advise failure" kann jedoch keine Methode zur  Wiederherstellung finden, obwohl die Backups doch alle vorhanden sind.

RMAN> advise failure;
>>
>> List of Database Failures
>> =========================
>>
>> Failure ID Priority Status Time Detected Summary
>> ---------- -------- --------- --------------- -------
>> 3005 HIGH OPEN 2008-11-1510:53 One or more non-system
>> datafiles are missing
>> 2982 HIGH OPEN 2008-11-1510:34 One or more non-system
>> datafiles are corrupt
>>
>> analyzing automatic repair options; this may take some time allocated
>> channel: ORA_DISK_1 channel ORA_DISK_1: SID=151 device type=DISK
>> analyzing automatic repair options complete
>>
>> Mandatory Manual Actions
>> ========================
>> 1. If file /oradata/example01.dbf was unintentionally
>> renamed or moved, restore it 2. Contact Oracle Support Services if
>> the preceding recommendations cannot be used, or if they do not fix
>> the failures selected for repair 3. Please contact Oracle Support
>> Services to resolve failure 3985:
>> Datafile 5: ''''/oradata/example01.dbf'''' is corrupt
>>
>> Optional Manual Actions
>> =======================
>> no manual actions available
>>
>> Automated Repair Options
>> ========================
>> no automatic repair options available

Das Problem liegt in der Zeile

>> channel: ORA_DISK_1 channel ORA_DISK_1: SID=151 device type=DISK

denn RMAN sucht die verfügbaren Backups und Archivelogs über den hier  angegebenen Kanal (channel) und der ist vom Typ "DISK". Die hier  vorliegende Datenbank nutzt die Flash Recovery Area (eben über diesen  DISK Kanal) für Backups und Archivelogs, jedoch werden diese dann auf ein Bandsystem übertragen.

Das Kommando "advise failure" hat für die Suche nach einer Wiederherstellungsmethode aber nur den DISK Kanal (also die Flash  Recovery Area) untersucht.

Um das Problem zu beheben muss RMAN einen Kanal zum Bandsystem anlegen.  Das macht man am besten über das CONFIGURE Kommando. Dann ist diese Konfiguration gespeichert und man muss das nicht immer wiederholen. Die  genauen CONFIGURE Kommando-Optionen hängen vom eingesetzten Bandsystem  ab, das Kommando beginnt aber immer mit

CONFIGURE CHANNEL DEVICE TYPE sbt

Nachdem der Kanal konfiguriert ist wird das Kommando "advise failure"  diesen Kanal benutzen und das Problem ist behoben.

Zurück zur Tippübersicht

Zurück zur Tippübersicht

[Home] [Impressum] [Oracle Tipps und Tricks]