News
DBA-Tipp: RMAN Backup – Optimierung schon in der Standard Edition?!

Die Information ist ein schnelllebiges Gut. Jeden Tag werden wir mit hunderten Informationen zugemüllt. Deshalb sind wir bestrebt uns auf das Wesentliche zu konzentrieren und nur substantiell nachhaltige Informationen bereitzustellen.

Icon Unternehmen

Was nutzt die neueste Oracle Datenbankversion, wenn bei einem Hardwaredefekt kein funktionierendes  Backup vorliegt? Backups beruhigen nicht nur ungemein, sie bieten tatsächlich eine Sicherheit zumindest den größten Teil der Daten nach einem Disaster wiederherstellen zu können. Dabei gibt es verschiedene Möglichkeiten und Ansätze, Daten zu sichern, wie beispielsweise das Kopieren der Datenfiles auf ein anderes Speichermedium oder das Einsetzen von Drittsoftware, welche sich um die Sicherung der Daten kümmert. Der Einsatz des Recovery Managers von Oracle - kurz RMAN - scheint zwar nicht immer der einfachste Weg zu sein, bietet aber eine recht große Flexibilität sowie Möglichkeiten, Backups zu verwalten und scriptgesteuert anzulegen. "Haben wir doch" werden viele sagen. Aber läuft das Backup auch optimal? Ist es schnell genug, belastet es das System so wenig wie möglich und optimiert es die Speicherplatznutzung?

RMAN-Backup - Alles eine Frage der Performance?!

Laufen Datenbanken auf leistungsschwächerer Hardware, benötigen Fullbackups mehr Zeit und belasten das System sehr stark. Vielleicht steht aber auch nicht ausreichend Speicherplatz für Backups zur Verfügung. Angesichts ständig wachsender Datenmengen und dem Bedarf, diese zu sichern und aufzubewahren, verlieren die Themen Performance und Plattenplatz auch beim Einsatz leistungsstarker Hardware nicht an Aktualität. Mit Hilfe des Oracle RMAN lassen sich bereits mit der Oracle Datenbank Standard Edition bzw. der Standard Edition One einige Parameter zur Optimierung der Backups verwenden.

Platzoptimierung

Die Platzoptimierung lässt sich in zweierlei Hinsicht durchführen. Zum einen kann Kompression eingesetzt werden und zum anderen können überflüssige, weil schon vorhandene Sicherungen von Datenbankdateien weggelassen werden.

1. Backupoptimierung

Auslassen von Datenfiles, die bereits in der gleichen Version im Backup vorhanden sind, z.B. Datenfiles von Read-Only-Tablespaces oder Datenfiles, die nicht geändert wurden.

Aktivierung:

CONFIGURE BACKUP OPTIMIZATION ON;

 

2. Komprimierung

Kompressionsrate vergleichbar mit Kompression, die zwischen den Kompressionsalgorithmen 'MEDIUM' und 'HIGH'  der Oracle Datenbank Enterprise Edition liegt; Systemlast ist bei 'BASIC' deutlich höher als bei 'HIGH' in der Oracle Datenbank Enterprise Edition.

Aktivierung: 

CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE COMPRESSION ALGORITHM 'BASIC';

Zurücksetzen:

CONFIGURE DEVICE TYPE DISK CLEAR;
CONFIGURE COMPRESSION ALGORITHM CLEAR;

 

3. Komprimierung optimieren

geringere Systemlast (Standard)

Aktivierung:

CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;

 

4. Bessere Komprimierung

Verwendung von precompression processing (Optimierung und Komprimierung nicht genutzter Bereiche in den Datenbankdateien) bietet noch etwas bessere Komprimierung, jedoch ist die Systemlast noch höher.  Am effektivsten ist es, wenn in der Datenbank viele INSERT- und DELETE-Operationen durchgeführt werden.

Aktivierung:

CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD FALSE;

Systemlast vs. Backupdauer

Neben der Backupoptimierung und der Kompression können auch eine kürzere Dauer oder eine geringere Systemlast während des Backups gewählt werden. Dabei wird ein Zeitrahmen vorgegeben, innerhalb dessen das Backup ausgeführt werden soll. Läuft die vorgegebene Zeit von z.B. zwei Stunden ab und das Backup ist noch nicht beendet, wird es abgebrochen. Ist der Parameter PARTIAL dabei gesetzt, listet RMAN beim Abbruch des Backups die nicht gesicherten Files auf. Ein ggfs. genutzter run-Block wird fortgesetzt und bis zum Ende ausgeführt. Wird der Parameter PARTIAL nicht genutzt, gibt der RMAN eine Fehlermeldung aus. Ein benutzter run-Block wird abgebrochen.

1. Minimierung benötigter Zeit

Maximierung der Systemlast, um die vorgegebene Zeit möglichst einzuhalten.
Beispiel:

BACKUP DURATION 0:30 [PARTIAL] MINIMIZE TIME DATABASE;

 

2. Minimierung der Systemlast

Maximierung der benötigten Zeit durch Minimierung der Systemlast, um das System so wenig wie möglich zu belasten.
Beispiel:

BACKUP DURATION 1:00 [PARTIAL] MINIMIZE LOAD DATABASE;

Fazit

Mit geringem Aufwand lassen sich Backups schon in der Oracle Standard Edition (/One) effizienter durchführen, egal ob es um die Einsparung von Platz, Zeit oder Systemlast geht. Ausprobieren hilft hierbei häufig, das jeweilige Optimum für die eigenen Anforderungen zu finden.