News
DBA-Tipp: Backup mit RMAN-Katalog - ja oder nein?

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

Für die Erstellung von online-Backups der Oracle Datenbank ist die Verwendung des Oracle Recovery Managers (RMAN) die mit Abstand gebräuchlichste Variante. Daneben trifft man zuweilen noch storagebasierte Snapshottechologien an, die ebenfalls online-Sicherungen erstellen können, ohne den RMAN zwingend einbeziehen zu müssen. Auch exp- oder DataPump-Exporte werden des öfteren gern als Backups bezeichnet, sind tatsächlich aber weit von diesem Anspruch entfernt. Und selbst bei storagebasierten Snapshots kommt man für die regelmäßige Sicherung der Archivelogs über kurz oder lang nicht um den RMAN herum.

Der RMAN legt Informationen über Backups grundsätzlich im Controlfile der betreffenden Datenbank ab. Zusätzlich kann er diese Informationen aber noch in ein Repository, den sogenannten RMAN-Katalog, speichern. Die Verwendung dieses Katalogs ist optional, hat aber mehrere interessante Vorteile gegenüber der Speicherung der Backupinformationen ausschließlich im Controlfile.

Desaster Recovery:
Da alle Backups, auch die des spfile und Controlfiles, im Katalog verzeichnet sind, benötigt man zum kompletten Wiederherstellen einer Datenbank lediglich eine Verbindung zum Katalog und die DBID der wiederherzustellenden Datenbank. Das Suchen der Backuppieces und das Katalogisieren von Backups ins restorte Controlfile können entfallen. Das kann im Desasterfall wertvolle Zeit sparen.

Tape Backups:
Verschwinden Einträge zu Backups aus dem Controlfile, z.B. bedingt durch Überschreiten der control_file_record_keep_time, lassen sie sich in der Regel recht simpel mit dem „catalog“-Befehl wieder importieren, sofern es sich um Backups auf Disk handelt. Anders sieht es bei Backups auf externe Tape Libraries (device type sbt_tape) aus. Hier liegen die Backuppieces in der Tape Library und können nicht direkt über den „catalog“-Befehl adressiert werden. Es bleibt dann als Workaround nur das Restore der Backuppieces von Band ins Dateisystem und anschließendes Katalogisieren in das Controlfile. Abgesehen von der Tatsache, dass das nicht jede Backupsoftware unterstützt, kann der Zeit- und Platzbedarf hierfür enorm sein. Verwenden Sie einen RMAN-Katalog, werden die Backupinformationen dort dauerhaft gespeichert und sind nicht mehr abhängig von der control_file_record_keep_time. Kann die Backupsoftware hingegen Backuppieces nicht in ein Filesystem wiederherstellen und das Controfile der Datenbank geht verloren, kann das den Totalverlust der Datenbank bedeuten. Obwohl die Backups dann in der Tape Library noch existieren, gibt es u.U. keinen Weg, sie von dort wieder zurückzuholen.

Backup Offload:
Neben der Ausfallsicherung ist das Standby-Backup ein weiterer wesentlicher Vorteil einer Physical Standby Datenbank. Da es sich um eine blockidentische Kopie der Primärdatenbank handelt, kann das regelmäßige Backup auch von der Standbyseite erstellt werden und hat damit keinerlei negativen Einfluss auf den Produktivbetrieb. Trotzdem lassen sich Standbybackups ohne Einschränkungen auch auf der Primärseite anwenden. Hinderlich ist allerdings die Tatsache, dass grundsätzlich Backups der Primärseite nur im Controlfile der Primärdatenbank und Backups der Standbyseite nur im Controlfile der Standby Datenbank protokolliert werden. Ohne RMAN-Katalog müsste vor jedem „restore“ oder „recovery“ erst ein „catalog“ erfolgen. Verwenden beide Seiten jedoch den selben RMAN-Katalog, synchronisieren sie ihre Backupinformationen darüber implizit und „wissen“ damit automatisch von den Backups der jeweils anderen Seite.

Stored Scripts:
Anders als das Controlfile kann der RMAN-Katalog komplette Backupskripts speichern und der RMAN diese direkt aus dem Katalog heraus ausführen. Grundsätzlich kann man Backupskripts zwar auch im Filesystem ablegen, muss sich dann aber insbesondere in Oracle RAC- oder Oracle Standby-Umgebungen darum kümmern, dass die Skripts auf allen beteiligten Servern konsistent zur Verfügung stehen. Zudem ist es nicht immer wünschenswert, dass etwaige im Skript hinterlegte Passworte für OS-Benutzer sichtbar sind.

Fazit:
Der RMAN-Katalog kann in einer beliebigen Oracle Datenbank angelegt werden, die sich allerdings vernünftigerweise auf einem anderen Server als die zu sichernden Datenbanken befinden sollte. Gebräuchlich ist es, hierfür die Repository-Datenbank des Oracle Grid Control / Oracle Cloud Control mit zu nutzen. Ein RMAN-Katalog kann aber auch in einer separaten Oracle Datenbank abgelegt werden. Wird eine Datenbank nur für den RMAN-Katalog und / oder für das Repository des Oracle Grid Control / Oracle Cloud Control genutzt, muss sie nicht lizenziert werden.