Oracle Datenbank-Backup-Optionen: User Managed Backups, RMAN und Import/Export

Welche Backup-Optionen gibt es für Oracle Datenbanken? Die drei Optionen User Managed Backups, RMAN und Import/Export Backups auf dem Prüfstand.

Dieser Artikel behandelt

Datenbanksysteme

ÄHNLICHE THEMEN

Die Wahl einer Oracle Datenbank-Backup-Strategie ist nicht einfach. Im Prinzip beschränkt sich die Wahl auf drei...

Optionen: User Managed Backups, Oracle Recovery Manager (RMAN) und Import/Export Backups. Je nach Ihren Bedürfnissen und Ihrem Budget können alle drei Oracle Datenbank-Backup-Strategien für Ihre IT-Umgebung in Frage kommen.

In diesem Artikel erfahren Sie die Vor- und Nachteil dieser Oracle Backup-Optionen. Alternativ können Sie sich den Beitrag als MP3-Datei auf Englisch anhören.

Welche verschiedenen Optionen für die Sicherung von Oracle Datenbanken gibt es?

Es gibt verschiedene Oracle Datenbank-Backup-Optionen. Die älteste Methode sind User Managed Backups. Dabei kommen Shell-Skripte zum Einsatz, welche die Datenbank in einen Backup-Modus versetzen und aus diesem entfernen oder alternativ die Datenbank herunterfahren. Anschließend können Sie eine Sicherungskopie der Datei anlegen. Die zweite Backup-Methode ist der Recovery Manager (RMAN). RMAN ist die bevorzugte Methode von Oracle, und sie ist auch der einzige Weg, um ein Backup in Drittanbieter-Backup-Anwendungen zu integrieren. Eine dritte Methode sind Import/Export Backups. Diese sind technisch gesehen eigentlich kein Backup, aber viele Anwender nutzen das Verfahren für die Datenbanksicherung.

Schließlich gibt es unzählige Backup-Möglichkeiten außerhalb des Oracle-Spektrums, wie zum Beispiel Continuous Data Protection (CDP). Bei diesen Technologien handelt es sich allerdings nicht um offizielle Oracle Backup-Methoden. In diesem Artikel konzentrieren wir uns auf Sicherungsverfahren, die Oracle unterstützt.

Was sind User Managed Backups?

Die erste Oracle-Backup-Strategie wird als User Managed Backup bezeichnet. Bei User Managed Backups nutzen Sie ein Shell-Skript, das sie selbst schreiben müssen. Das Skript verwendet die integrierten Befehle aus der Oracle-Datenbank. Dazu gehört alles vom Herunterfahren der Instanzen bis zum Versetzen der Datenbank in den Backup-Modus. Oracle hat dafür im Laufe der Zeit zusätzliche Funktionen hinzugefügt.

Noch bis vor einigen Jahren war die einzige Möglichkeit, ein User Managed Backup auszuführen, eine Oracle-Query nach der Liste aller Tablespaces zu starten, und dann jede einzelne Instanz in den Backup-Modus zu versetzen. Mittlerweile hat Oracle einen einzigen Befehl bereitgestellt, womit Sie die gesamte Instanz in den Backup-Modus versetzen können. Das befreit jeden Admin vom Rätselraten. Ohne diesen Befehl müssten Sie ziemlich gut darin sein, mit dem Skript Oracle richtig abzufragen. Sie müssten eine Liste der Tablespaces abfragen, diese Liste analysieren und diese dann so einer anderen Schleife übergeben, dass alle Tablespaces in den Sicherungsmodus gesetzt werden. Das ist zwar kein Hexenwerk, aber es hat viele Admins abgeschreckt und ist fehleranfällig. Deshalb ist es umso schöner, dass Oracle diese Funktion nun hinzugefügt hat.

Mit einem User Managed Backup versetzen Sie im Grunde entweder eine Datenbank in den Offline- oder in den Hot-Backup-Modus und sichern dann die Daten. Wenn Sie fertig sind, müssen Sie die Datenbank hochfahren und den Backup-Modus wieder abschalten.

Der Verwendung von User Managed Backups impliziert, dass Sie etwas zusätzliches mit den Daten machen. Entweder sichern Sie diese mit einer handelsüblichen Backup-Software. Oder Sie kopieren die Dateien auf einen anderen Speicher und greifen dann mit Ihrem kommerziellen Backup-Produkt auf diese Dateien zu. Dies ist ziemlich gängige Praxis geworden, aber es ist nicht unbedingt eine, die ich mag. Tatsache ist aber, dass immer mehr Datenbank-Administratoren (DBAs) die Backups ihrer Datenbanken verwalten. Sie schreiben die Skripte und sichern die Datenbank durch Kopieren der Dateien, nachdem sie diese in den Sicherungsmodus versetzt haben oder diese heruntergefahren haben. Dann legen sie sie in einem Verzeichnis ab und sichern die Dateien.

Ich bin allerdings kein Fan dieses Ansatzes. Der Grund ist, dass User Managed Backups generell große Probleme mit sich bringen. Zunächst einmal liegt bei diesem Verfahren die Verantwortung allein bei Ihnen – und es kann schnell passieren, dass Sie einen Fehler machen und ein Skript falsch schreiben. Wenn Sie Probleme mit einem fehlerhaften Skript haben, bekommen Sie keine Hilfe von Oracle. Vor allem, wenn Sie die Zwei-Schritt-Methode anwenden, besteht ein weiteres Problem darin, dass Sie zusätzlichen Speicher benötigen. Schließlich sichert die Backup-Software nur Dateien, und sie weiss nicht, ob diese Dateien in Ordnung sind. Sie weiß auch nicht, ob das Shell-Skript des DBA funktioniert. Die Diskrepanz zwischen dem Backup-Prozess und dem Datenbank-Prozess ist die größte Herausforderung bei User Managed Backups.

Ähnliche Hindernisse treten auf Restore-Seite auf: Die größte Herausforderung bei der Wiederherstellung ist das Management des Restore-Prozesses. Es liegt in Ihrer Verantwortlichkeit als Admin, die Datenbank in verschiedenen Modi zu starten und Dateien von Band oder Festplatte manuell wiederherzustellen. Ein User Managed Backup ist ein hochgradig manueller Prozess mit viel Handarbeit, während mit RMAN dieser gesamte Prozess vollständig automatisiert abläuft.

Eine anderes Problem bei User Managed Backups ist, dass es kein Konzept für eine inkrementelle Sicherung gibt. Damit ist jedes Backup einer Oracle Datenbank ein vollständiges Backup -  was sich auf Bandbreite, CPU und Speicher auswirkt.

Trotz dieser Probleme lieben viele Admins User Managed Backups – vor allem aus zwei Gründen. Erstens, weil sie es schon immer so gemacht haben, sie alle Risiken kennen und sie es in der Vergangenheit bereits erfolgreich ausgeführt haben. Zweitens sehen sie es als billigere Alternative.

Wie funktioniert der Recovery Manager (RMAN)?

Der Recovery Manager (RMAN) ist in Oracle integriert und im Prinzip eine API. Sie können sich in RMAN einloggen und einen Befehl zu Ausführung eingeben. Dieses Kommando kommuniziert mit der API, und diese mit der Datenbank. RMAN kopiert für Sie die Datenbank im Basis-Setup an einen Ort, den Sie vorher festgelegt haben. Verglichen mit User Managed Backups ein einfaches Vorgehen. Dort müssen Sie das Backup auf eine Datenbank ansetzen, dann herausfinden, wo sich die Dateien befinden und anschließend alle entsprechenden Dateien kopieren. In RMAN können Sie sich auch ohne kommerzielle Backup-Anwendung kostenlos anmelden und sagen: „Sichere meine Datenbank“. RMA kopiert dann die Dateien in ein Verzeichnis, das Sie angegeben haben.

Der wichtigste Vorteil von RMAN ist, dass RMAN viel einfacher ist als User Managed Backups. Und es lässt sich ohne Risiko nutzen. Am meisten aber dürften sich Admins darüber freuen, dass man RMAN mit kommerziellen Backup-Lösungen kombinieren kann. Eine Bibliothek verbindet RMAN mit Oracle, und die Backup-Anwendung ersetzt die Bibliotheken mit ihren Bibliotheken.

Mit RMAN haben Sie eine direkte Verbindung von Ihrer Backup-App zu Oracle, die die Befehle ausgibt und den Datenstrom, der aus Oracle kommt, zurückgibt an Ihre Backup-Anwendung, welche wiederum die Daten weitergibt an ein beliebiges Storage Device – egal ob Festplatte, Band oder ein dedupliziertes Ziel. Ein User Managed Backup verfügt hingegen nicht über diese Verbindung. Bei User Managed Backups ist die Backup-App von der Datenbank getrennt.

Mit RMAN haben Sie eine direkt Verbindung in die Datenbank. Wenn ein Fehler auftritt und Sie kein Backup erhalten, weiß die Backup-App Bescheid und berichtet dies. Der Anwender muss sich darum aber nicht kümmern, denn RMAN wird direkt von Oracle und Drittanbieter-Backup-Anwendungen unterstützt.

Wegen dieser Verknüpfung hat RMAN eine ganze Reihe von Vorteilen. Erstens können Sie echte inkrementelle Backups ausführen. RMAN hat eine Bitmap und es kennt die Blöcke, die seit dem letzten Mal, als eine Sicherung vorgenommen wurde, verändert wurden. Selbstverständlich können Sie mit RMAN auch vollständige Backups ausführen, und auch hier haben Sie diesen Komplettanschluss ganz nach unten zu Ihrer Datenbank.

Aber das Beste an RMAN sehen Sie dann, wenn eine Datenbank wiederhergestellt werden muss. In diesem Fall starten Sie RMAN und weisen es an, dass für die Datenbank ein Restore ausgeführt werden soll. Wenn RMAN die Datenbank wiederherstellt, kopiert es die Dateien dorthin zurück, wo sie hingehören.

Für das Recovery nutzt es den Befehl Redo. Redo muss angewendet werden, denn wenn Sie ein Backup von der letzten Nacht ausführen, gibt es einige Änderungen, die seit dieser Zeit passiert sind. Deshalb muss es in die Redo-Logs gehen, um die Sicherungen wieder einzuspielen – man bezeichnet dies als Recovery nach dem Restore. Während einer Wiederherstellung und eines Recoverys können Sie sich bei RMAN anmelden und RMAN weiß, dass es mit Ihrer Backup-App verbunden ist. Anschließend können Sie den RMAN-Befehl Recovery/ Restore Database ausführen.

RMAN kommuniziert mit der API, die API mit der Bibliothek und die Bibliothek mit der Backup-Anwendung. Weisen Sie RMAN an, es solle die Datenbank wiederherstellen, kommuniziert RMAN mit der API, die API mit der Bibliothek, und die Bibliothek mit der Backup-App. Es ist dieses wechselseitige hin und her bei den Verbindungen, welches das Recovery so praktikabel macht.

Schließlich gibt es noch eine Option von Oracle selbst. Wenn Sie sich für RMAN interessieren, aber keine Backup-App haben, die mit RMAN verbunden werden kann, gibt es auch die Möglichkeit, direkt eine Oracle Backup-Software zu verwenden. Sie können diese kaufen und mit ihr zum Beispiel Bandbibliotheken verwalten. Auf diese Weise kommt Ihre gesamte Backup-Lösung direkt aus den Händen von Oracle.

Wie lassen sich Import/Export Backups anwenden?

Import/Export Backups sind nicht wirklich Backups. Es handelt sich eher um ein Archiv, da Sie zu einem bestimmten Zeitpunkt eine Kopie der Inhalte und der Struktur der Datenbank anfertigen. Import/Export kann nur verwendet werden, um entweder die gesamte Datenbank oder einen Teil der Datenbank für einen bestimmten Zeitpunkt wiederherzustellen, an dem Sie die Daten exportiert haben. Wenn Sie Export für Backups verwenden, ist das größte Problem, dass es in einem bestimmten Modus ausgeführt werden muss.

Mehr zum Thema Oracle Datenbanken:

Oracle Datenbank: So rufen Sie Stored Procedures auf.

Drei Code-Beispiele für das Einfügen mehrerer Zeilen in Oracle-Datenbanken.

Wann machen Oracle Datenbanken für ein Unternehmen Sinn?

Oracle Database 12c macht die Normalisierung der Datenbank unnötig.

Wie Sie eine Strategie für die Oracle Datenbank-Konsolidierung ausarbeiten.

Backups können ausgeführt werden, wenn die Datenbank in Betrieb ist. Aber bei Export ist das nicht der Fall, denn wenn Sie irgendwelche Datenbankaktualisierungen machen, während Sie diese exportieren, werden Sie referenzielle Integritätsprobleme bekommen. Sie müssen daher Datenbank-Updates stoppen, während Sie die Daten exportieren.

Das zweite Problem ist, dass Sie Import/Export nur zur Wiederherstellung bis zu exakt einem bestimmten Zeitpunkt verwenden können. Alle Änderungen, die Sie danach vorgenommen haben, können für ein Redo nicht verwendet werden. Bei Backups ist es hingegen möglich, zum Zeitpunkt des Exports zu wechseln. Viele Anwender nutzen es trotzdem, da sie denken, es ist einfacher. Ich glaube nicht, dass es einfacher ist.

Ein Vorteil von Import/Export ist, dass es weniger versionsabhängig als RMAN oder User Managed Backups ist. Wenn Sie über RMAN oder User Managed Backups eine Sicherung von Oracle machen, ist diese kompatibel mit der Version von Oracle, die zum Zeitpunkt der Sicherung ausgeführt wurde. Aber Export kann auch mit einer früheren oder neueren Version von Oracle verwendet werden. Der Hauptgrund, warum einige Anwender Export nutzen, ist der Aufbau eines Archivs, um einen historischen Blick auf die Datenbank zu erhalten, die nicht unbedingt an eine Version gebunden ist.

Ein anderer Grund, warum Import/Export genutzt wird, ist Tablespace Recovery. In der Vergangenheit war es in Oracle schwierig, eine einzelne Tabelle wiederherzustellen. Wenn eine Tabelle defekt war, mussten Sie den ganzen Tablespace wiederherstellen. Aber inzwischen ist etwas Bewegung in die Sache gekommen und zusätzliche Funktionalitäten lösen nun das Problem. Wenn das also der Grund ist, warum Sie Exports nutzen, sollten Sie vielleicht mit Oracle Kontakt aufnehmen und um ein Update bitten, um das Problem mit RMAN zu lösen.

Was sind Best Practices für Oracle Backups?

Zuerst: Sichern Sie Ihre Datenbanken. Zweitens: Verwenden Sie am besten RMAN. Mittlerweile ist es einfacher zu verwenden als User Managed Backups. Das Wichtigste ist deshalb, sich ernsthaft Gedanken zu machen, wie man RMAN einsetzen kann. Eines der Hauptargumente gegen RMAN – die Lizenzen – hat sich mit den meisten kommerziellen Backup-Produkten in Luft aufgelöst. In den letzten Jahren sind Symantec Backup Exec, NetBackup, CommVault Simpana und andere Firmen auf kapazitätsbasierte Lizenzen umgestiegen, die keine zusätzlichen Gebühren für die Datenbanken beinhalten. Wenn Sie also eine solche kapazitätsbasierte Lizenz haben, können Sie sofort RMAN verwenden, ohne dafür zusätzlich bezahlen zu müssen.

Sie sollten auch beachten, Ihre Redos nicht zu ignorieren. Denken Sie über die Redo-Logs nach und wie man sie sichert. Meine beste Antwort darauf ist, Ihre Datenbank direkt auf Band, Ihre Redo-Logs aber auf Festplatte zu sichern. Die letzten 24 bis 36 Stunden der Redo-Logs sollten direkt auf der Festplatte zugänglich sein, denn wenn Sie Redos massenweise auf Band sichern, wird das nur langsam vorangehen. Festplatten sind hier deutlich schneller.

Über den Autor:
W. Curtis Preston ist bei TechTarget als Executive Editor tätig und ist ein unabhängiger Experte im Bereich Backup.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+ und Facebook!

Artikel wurde zuletzt im September 2015 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Datenbanksysteme

0 Kommentare

Älteste Beiträge 

Passwort vergessen?

Kein Problem! Tragen Sie Ihre E-Mail-Adresse unten ein. Wir werden Ihnen eine E-Mail mit Ihrem Passwort schicken.

Ihr Passwort wurde an die folgende E-Mail-Adresse gesendet::

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close