Backups flexibel anpassen Datenbanken sichern mit dem Oracle Recovery Manager

Von Thomas Joos 5 min Lesedauer

Anbieter zum Thema

Oracle Recovery Manager (RMAN) bietet die Grundlage für Sicherung und Wiederherstellung von Oracle-Datenbanken. RMAN optimiert Backup- und Recovery-Prozesse und integriert sich in die Umgebung der Oracle-Datenbank. Durch die Nutzung von RMAN lassen sich Backup-Strategien flexibel anpassen.

Mit dem Oracle Recovery Manager lassen sich Backup-Strategien für Oracle-Datenbanken einrichten.(Bild:  FAMILY STOCK - stock.adobe.com)
Mit dem Oracle Recovery Manager lassen sich Backup-Strategien für Oracle-Datenbanken einrichten.
(Bild: FAMILY STOCK - stock.adobe.com)

RMAN nutzt eine Kombination aus Befehlen und Konfigurationseinstellungen, um Backup- und Recovery-Operationen zu steuern. Vor der Durchführung von Backups ist eine initiale Konfiguration erforderlich. Hierzu gehören die Definition von Retention-Policies, die Festlegung des Backup-Destination sowie die Konfiguration von Channels, die die Kommunikation zwischen RMAN und der Datenbank regeln.

Grundlagen von Oracle Recovery Manager: Retention-Policies

Retention-Policies innerhalb von Oracle Recovery Manager (RMAN) definieren, wie lange Backups aufbewahrt werden. RMAN unterstützt zwei Arten von Retention-Policies: Die Redundancy-basierte Retention-Policy und die Recovery-Window-basierte Retention-Policy. Die Redundancy-basierte Policy legt fest, wie viele vollständige Backups der Datenbank aufbewahrt werden sollen.

Nachdem die festgelegte Anzahl von Backups erreicht ist, werden die ältesten Backups für die Löschung markiert. Diese Policy ist sinnvoll, wenn die Aufbewahrungsdauer der Backups niedriger ist als die Verfügbarkeit von Backup-Sets. Die Konfiguration erfolgt über RMAN.

Um eine RMAN-Sitzung zu starten, öffnet man ein Terminal und gibt den Befehl „rman target /“ ein, falls man sich auf dem Datenbankserver befindet und als OS-User angemeldet ist, der für die Datenbankauthentifizierung konfiguriert ist. Für Remote-Verbindungen kann der Befehl folgendermaßen erweitert werden:

rman target sys/password@DB_ALIAS.

Die Konfiguration der Retention-Policy erfolgt danach mit:

CONFIGURE RETENTION POLICY TO REDUNDANCY n;

Dabei steht „n“ für die Anzahl der vollständigen Backup-Sets, die aufbewahrt werden sollen. Die Recovery-Window-basierte Policy definiert einen Zeitraum in der Vergangenheit, für den die Wiederherstellung der Datenbank möglich sein muss.

Backups, die für die Wiederherstellung der Datenbank zu jedem Zeitpunkt innerhalb dieses Fensters benötigt werden, sind vor der Löschung geschützt. Die Konfiguration sieht wie folgt aus:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS;

„n“ repräsentiert die Anzahl der Tage im Recovery-Window. Der Befehl „REPORT OBSOLETE“ kommt zum Einsatz, um zu identifizieren, welche Backups außerhalb der konfigurierten Retention-Policy liegen und daher für eine Löschung in Frage kommen.

Backup-Ziele für RMAN steuern

Backups können auf Disk, Tape oder in Cloud-Speicherlösungen gesichert werden. Channels sind Verbindungen zwischen RMAN und der Datenbank. Die Konfiguration von Channels ermöglicht die Optimierung der Backup- und Recovery-Performance, indem beispielsweise parallele Prozesse genutzt werden.

Für die Speicherung von Backups auf Disk konfiguriert man den Speicherort. Dafür wird der „CONFIGURE CHANNEL“-Befehl verwendet. Dieser Befehl ermöglicht die Angabe des Verzeichnispfads, in dem die Backups abgelegt werden sollen:

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/path/to/backup/%U';

Hierbei ist „/path/to/backup/“ der Pfad zum Verzeichnis, in dem die Backups gespeichert werden sollen, und „%U“ ist ein Platzhalter, den RMAN durch einen eindeutigen Bezeichner für jedes Backup ersetzt, um Überschreibungen zu vermeiden.

Für die Speicherung von Backups auf Bandlaufwerken (Tape) verwendet man den „ALLOCATE CHANNEL“-Befehl mit dem Gerätetyp „SBT_TAPE“. Die Integration mit Tape-Libraries wird oft über Media-Management-Software realisiert, die spezifisch für das verwendete Tape-System konfiguriert wird. Die Konfiguration könnte folgendermaßen aussehen:

ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE SBT_TAPE;

Diese Konfiguration kann weiter angepasst werden, indem man Parameter der Media-Management-Software über den PARMS-Schlüssel des „ALLOCATE CHANNEL“-Befehls übergibt. Die Konfiguration für Cloud-Backups hängt vom jeweiligen Cloud-Provider ab. Generell wird der „CONFIGURE CHANNEL“-Befehl verwendet, um die Verbindung zur Cloud-Speicherlösung einzurichten, ähnlich wie bei der Disk-Konfiguration.

Backup-Varianten

Mit RMAN lassen sich verschiedene Arten von Backups durchführen, darunter:

  • vollständige Backups: Kopieren sämtliche Datenblöcke einer Datenbank,
  • inkrementelle Backups: Kopieren die Datenblöcke, die seit dem letzten Backup geändert wurden, wodurch die Backup-Zeit und der Speicherbedarf reduziert werden,
  • Archived-Log-Backups: Sichern die Archived-Redo-Logs, die für die Wiederherstellung von Transaktionen notwendig sind.
BACKUP DATABASE;

Dieser Befehl sichert die gesamte Datenbank. Für die Speicherung der Backup-Dateien auf einem spezifischen Laufwerk oder in einem Verzeichnis, kann der Befehl um „TO DISK“ erweitert werden:

BACKUP DATABASE TO DISK;

Erweitert:

BACKUP DATABASE PLUS ARCHIVELOG;

Dieser Befehl sichert die gesamte Datenbank zusammen mit allen Archived Logs, die seit dem letzten vollständigen Backup erstellt wurden, um eine vollständige Point-in-Time-Wiederherstellung zu ermöglichen. Die Option „PLUS ARCHIVELOG“ sorgt dafür, dass nach dem Backup der Datenbank auch alle bis dahin angefallenen Archived Logs gesichert und alte Logs, die nicht mehr benötigt werden, gelöscht werden.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Ein inkrementelles Backup auf Level 1 nach einem vollständigen Backup (Level 0) wird wie folgt initiiert:

BACKUP INCREMENTAL LEVEL 1 DATABASE;

RMAN überprüft die Änderungen seit dem letzten Level-0- oder Level-1-Backup und sichert nur die veränderten Datenblöcke. Die Sicherung von Archived Logs ist entscheidend für die Wiederherstellung der Datenbank bis zu einem bestimmten Zeitpunkt (Point-in-Time Recovery). Archived Logs enthalten alle Transaktionen, die seit dem letzten Backup durchgeführt wurden. Der Befehl, um alle Archived Logs zu sichern, lautet:

BACKUP ARCHIVELOG ALL DELETE INPUT;

Dieser Befehl sichert alle verfügbaren Archived Logs und löscht sie anschließend vom Dateisystem, um Speicherplatz freizugeben. Das Löschen der Logs erfolgt nur, wenn sie erfolgreich gesichert wurden und nicht mehr für die Wiederherstellung der Datenbank bis zum aktuellen Zeitpunkt benötigt werden.

Es ist wichtig, die Integrität der Backups regelmäßig zu überprüfen. Dies kann mit dem Befehl „VALIDATE“ erfolgen:

VALIDATE BACKUPSET ALL;

Wiederherstellung mit RMAN

RMAN unterstützt verschiedene Recovery-Szenarien, von der Wiederherstellung einzelner Dateien bis hin zur vollständigen Datenbank. Die Point-in-Time-Recovery ermöglicht die Wiederherstellung der Datenbank zu einem bestimmten Zeitpunkt, wodurch unbeabsichtigte Änderungen rückgängig gemacht werden können. Für die Wiederherstellung der Datenbank auf den aktuellen Zeitpunkt verwendet man:

RESTORE DATABASE;RECOVER DATABASE;

Um die Datenbank zu einem spezifischen Zeitpunkt wiederherzustellen, nutzt man den „SET UNTIL“-Befehl:

RUN { SET UNTIL TIME "TO_DATE('YYYY-MM-DD:HH:MI:SS', 'YYYY-MM-DD:HH24:MI:SS')"; RESTORE DATABASE; RECOVER DATABASE;}

Die effektive Steuerung von Backup-Prozessen in RMAN ermöglicht es, die Datenintegrität zu gewährleisten und die Verfügbarkeit der Oracle-Datenbank in verschiedenen Szenarien sicherzustellen. Durch die Kombination von vollständigen und inkrementellen Backups sowie die regelmäßige Sicherung von Archived Logs kann eine umfassende Strategie für Datensicherung und Disaster Recovery etabliert werden. Die Anpassung dieser Prozesse an die spezifischen Bedürfnisse und Ressourcen eines Unternehmens sind essentiell für die Aufrechterhaltung eines effizienten und zuverlässigen Datenmanagements.

(ID:50132932)