|
Einfaches Recovery mit Oracle Data Recovery Advisor
von Ralf Durben, ORACLE Deutschland GmbH
Ein wesentliches Merkmal einer Datenbank ist die Möglichkeit zur Wiederherstellung im Fehlerfall. Ausfälle von Rechnern, Hauptspeicher, Festplatten, o.ä. dürfen nicht im Datenverlust enden. Die Oracle Datenbank bietet hierzu schon seit den frühesten Versionen robuste und erprobte Methoden des sogenannten Recoverys an. Basierend auf Sicherungen und Änderungsprotokolle können Schäden durch Dateiausfälle behoben werden.
Das Erstellen von Sicherungen, den sogenannten Backups ist im Allgemeinen ein regelmäßiger Vorgang, der typischerweise automatisiert wird. Die Durchführung von Backups stellt daher kein Problem dar.
Anders sieht das bei einem Recovery aus. Eine solche Reparatur ist nur sehr selten notwendig und Datenbankadministratoren fehlt oft die wünschenswerte Routine. Oracle bietet für die verschiedenen Fehlerszenarien entsprechende Recoverymethoden an und die Wahl der richtigen Methode beeinflußt die Dauer des Recoverys und damit die Downtime. Je nach Fehler braucht man zum Beispiel nur Teile der Datenbank reparieren während andere Teile der Datenbank weiterhin zur Verfügung stehen. Man kann aber auch die gesamte Datenbank herunterfahren und entsprechend reparieren.
Die Wahl der richtigen Methode ist wichtig bei einem Recovery. Fehlende Routine sorgt bei einigen Datenbankadministratoren aber für Unsicherheit, der man bislang nur durch regelmäßiges Training vorbeugen konnte. Datenbankadministratoren sollen demnach mit Testdatenbanken ein Recovery einüben. Regelmäßig durchgeführt geben diese Tests die wünschenswerte Erfahrung.
In Oracle 11g wird die Wahl der richtigen Recoverymethode sehr stark vereinfacht. Die Oracle Datenbank erkennt automatisch die aufgetretenen Fehler und kann Skripte erstellen mit denen der Fehler repariert werden kann. Diese Funktionalität nennt sich Data Recovery Advisor und steht primär in dem Line Mode Tool RMAN zur Verfügung, aber auch Oracle Enterprise Manager bietet eine grafische Oberfläche für diese Funktionalität an.
Der Data Recovery Advisor ist in den Editionen Enterprise Edition, Standard Edition und Standard Edition one verfügbar.
Statt nun die einzelnen Kommandos zum Einspielen des Backups, bzw. der notwendigen Backupbestandteile, sowie des Recoverys zu benutzen, muss ein Administrator nur noch drei Kommandos kennen:
Die Details der Recoverymethode werden dabei angezeigt und können somit jederzeit verfolgt werden. Letztlich ist es aber nicht mehr notwendig die einzelnen Restore- und Recover-Kommandos einzugeben.
Die Verwendung dieser neuen Kommandos soll nun an verschiedenen Beispielen demonstriert werden:
Fallbeispiel 1: Eine Datendatei (nicht der System Tablespace) ist defekt
In diesem Fall ist ein Teil der Datenbank betroffen, ohne dessen die Datenbank auch weiter betrieben werden kann. Nur sind Teile der Datenbank nicht benutzbar. Diese Teile müssen nun wiederhergestellt werden.
Dazu starten Sie RMAN und verbinden sich mit der Datenbank:
Als nächstes lassen Sie sich den Fehler analysieren und anzeigen:
Der nächste Schritt ist nun die Wahl der richtigen Recoverymethode. Dazu geben Sie in RMAN folgendes ein:
Der Data Recovery Advisor hat also eine Methode gefunden, die im Ergebnis eine Reparator ohne Datenverlust hat. Dieser Reparatur starten Sie mit
Dieser Ausschnitt ist gekürzt um die Lesbarkeit zu erhalten. Der Benutzer wird auch nach der Anzeige des Skripts gefragt, ob die Reparatur wirklich gestartet werden soll. Eine reine Anzeige des Skripts erhält man mit
Fallbeispiel 2: Eine Datendatei ist defekt und zusätzlich alle Online Redo Log Gruppen
In diesem Fall ist die gesamte Datenbank betroffen, die auch nach kurzer Zeit zum Stillstand kommt. Der komplette Verlust der Online Redo Log Gruppen dürfte eigentlich nicht auftreten, da diese unbedingt gespiegelt werden sollten. Dennoch habe ich hier dieses Beispiel gewählt um zu zeigen, dass auch in dieser Situation der Data Recovery Advisor gute Dienste leistet.
Dazu starten Sie RMAN und verbinden sich mit der Datenbank:
Als nächstes lassen Sie sich den Fehler analysieren und anzeigen:
Der Verlust der online Redo Log Gruppen führt dazu, daß die Datenbank nicht vollständig repariert werden kann. Ein gewisses Maß an Datenverlust wird hinzunehmen sein. Wie schon ausgeführt, wird dieses durch Spiegelung der online Redo Log Dateien verhindert.
Bei einem hier vorliegenden unvollständigen Recovery muß man erst einmal feststellen bis zu welchem Zeitpunkt das Recovery durchgeführt werden kann. Dieses ist in der Regel recht aufwendig. Nicht so mit dem Data Recovery Advisor:
Als nächstes lassen Sie sich den Fehler analysieren und anzeigen:
Der Data Recovery Advisor hat als Recovery-Zielzeitpunkt die System Change Number (SCN) 1273989 ermittelt. Das Skript ist schon fertig und muss nur noch genutzt werden mit
Mit dem Data Recovery Advisor wird das Recovery einer Oracle Datenbank ab Oracle Datenbank 11g viel einfacher. Statt der einzelnen Kommandos zum Restore und Recovery fordert man die Datenbank auf sich zu reparieren. Letztlich bekommt man dadurch eine optimierte Auswahl der besten Recoverymethode. Das eigentliche Recovery findet wie gewohnt mit den erprobten und robusten Methoden statt, die Oracle schon seit langer Zeit zur Verfügung stellt. Die Auswahlalgorithmen sind in der Datenbank selbst implementiert und nicht in einem externen Tool. Das ergibt immer eine optimale Nutzung der gerade vorliegenden Datenbankversion.
Zurück zur Community-Seite
|