Home > Backup- und Wiederherstellungs-Blog > Wie sichert man Oracle-Datenbanken mit Bacula? Technischer Überblick über Oracle-Datenbanken Sicherung und Wiederherstellung.
1 Star2 Stars3 Stars4 Stars5 Stars
(46 Stimmen, durchschnittlich: 5,00 von 5)
Loading...

Wie sichert man Oracle-Datenbanken mit Bacula? Technischer Überblick über Oracle-Datenbanken Sicherung und Wiederherstellung.

  • Januar 28, 2022 (Zuletzt aktualisiert: Februar 6, 2022), Rob Morrison

Oracle backup

Oracle-Sicherung und -Wiederherstellung

Üblicherweise werden Sicherungs- und Wiederherstellungsvorgänge als eine der wichtigsten Säulen der Datensicherung angesehen. Dies gilt natürlich auch für die Sicherung und Wiederherstellung von Oracle, und in der heutigen Welt ist es praktisch eine Notwendigkeit, mindestens ein Backup Ihrer Datenbank zu haben, wenn Sie nicht durch einen einfachen Fehler oder einen ähnlichen unglücklichen Zufall alles verlieren wollen.

Ein Backup ist eine Kopie Ihrer Daten, mit der Sie den Inhalt Ihrer ursprünglichen Datenbank rekonstruieren können. Im Zusammenhang mit Oracle gibt es zwei Haupttypen von Backups - physische Backups und logische Backups.

Das physische Backup ist eine Kopie der physischen Dateien, die für den Notfall gespeichert werden. Physikalische Backups umfassen in der Regel Dateitypen wie Steuerdateien, Datendateien und archivierte Redo-Logs.

Logische Backups sind eine Kopie der logischen Daten innerhalb der Datenbank, wie z. B. gespeicherte Prozeduren und Tabellen. Diese Backups werden oft als gute Ergänzung zu den physischen Backups betrachtet, sind aber ohne ihr Gegenstück praktisch nutzlos.

Sofern nicht anders angegeben, wird in den meisten Dokumentationen zu Sicherung und Wiederherstellung von einer physischen Sicherung als "Backup" gesprochen. Das Erstellen eines physischen Backups einer Datenbank ist der Vorgang des "Sicherns" dieser Datenbank.

Datenwiederherstellung und mögliche Probleme

Es gibt zwar einige mögliche Ausnahmen, aber die meisten Fehlerfälle, die eine Datenwiederherstellung erforderlich machen, lassen sich auf einen der drei Fehlertypen zurückführen: Benutzerfehler, Medienfehler und Anwendungsfehler.

Bei Benutzerfehlern besteht die Möglichkeit, dass aufgrund eines manuellen Fehlers oder eines Fehlers in der Anwendungslogik ein bestimmter Teil der Datenbank entweder geändert oder fälschlicherweise gelöscht wird. Dieser einzelne Fehlertyp gilt als die Hauptursache für die meisten Datenbankausfälle weltweit.

Es gibt auch zwei verschiedene Ausmaße der potenziellen Katastrophe - lokal begrenzt und weit verbreitet. Ein lokaler Schaden ist etwas relativ Unbedeutendes, das mit einem sorgfältigen Reparaturprozess behoben werden kann. Ein weit verbreiteter Schaden hingegen löscht große Datenmengen und muss so schnell wie möglich behoben werden, um zumindest teilweise einen massiven Ausfall der gesamten Datenbank zu verhindern.

Ein weiterer Fehlertyp ist das Medienversagen, bei dem es sich meist um ein physisches Problem mit einem Speichergerät handelt, das Probleme bei Lese- oder Schreibanfragen verursacht. Die geeignete Maßnahme als Reaktion auf einen Medienausfall hängt vom Gerätetyp und dem betreffenden Datentyp ab.

Es ist wichtig zu erwähnen, dass Medienfehler bei jedem Speichermedium vorkommen können. Aus diesem Grund ist es nicht ungewöhnlich, dass Unternehmen eine Art Disaster-Recovery-Programm entwickeln, um unter anderem die potenziell katastrophalen Auswirkungen eines Medienfehlers abzumildern (da Medienfehler dafür bekannt sind, dass sie das gesamte Speichergerät auf einmal lahmlegen).

App-Fehler sind das Ergebnis einer Software-Fehlfunktion, die in der Regel durch einen beschädigten Datenblock dargestellt wird. Bei einer Beschädigung des Datenträgers (auch physische Beschädigung genannt) kann es vorkommen, dass der gesamte Block von der Datenbank nicht erkannt wird, da die Prüfsummen nicht übereinstimmen, der gesamte Block Nullen enthält und so weiter. Je nach Ausmaß der Beschädigung können einige weniger schwerwiegende App-Fehler mehr oder weniger mit einer Variante der Blockmedienwiederherstellung behoben werden.

Oracle-Backup-Strategie

Im Rahmen der Möglichkeiten von Oracle gibt es zwei Haupt-Backup-Strategien: RMAN und benutzerverwaltet.

RMAN, oder Recovery Manager, ist eine vollständig in die Oracle-Datenbank integrierte Lösung, die eine Vielzahl von Backup-Aktivitäten durchführen kann. Der Zugriff auf RMAN kann entweder über den Oracle Enterprise Manager oder über die Befehlszeile erfolgen.

Benutzerverwaltete Backups sind grundlegende Backups, die mit einer Kombination aus Host-Betriebssystembefehlen und SQL*Plus-Wiederherstellungsbefehlen durchgeführt werden können. Alle sicherungsrelevanten Aspekte müssen in diesem Fall für jede Sicherung manuell definiert werden.

Es werden zwar zwei Backup-Typen unterstützt, aber RMAN wird in der Regel bevorzugt, so dass der Großteil der Oracle-Backup-Funktionen auf diesen Backup-Typ ausgerichtet ist.

Ein großer Vorteil eines RMAN-Backups ist die Möglichkeit, Backups zu erstellen, während die Datenbank geöffnet und/oder gemountet ist. Der Backup-Befehl selbst ist ebenfalls relativ einfach; die Eingabeaufforderung selbst sieht wie folgt aus:

 

BACKUP DATABASE;

Es ist möglich, eine Reihe von Zusätzen oder Parametern zu diesem Befehl hinzuzufügen, zum Beispiel kann er so aussehen, wenn wir auch archivierte Protokolle in die Sicherung einbeziehen wollen:

 

BACKUP DATABASE PLUS ARCHIVELOG;

Eine weitere Option, die mit RMAN verfügbar ist, ist die Möglichkeit, inkrementelle Backups zu erstellen. Eine inkrementelle Sicherung ist ein Sicherungstyp, der nur bestimmte Dateien kopiert, die seit der letzten Sicherung eines beliebigen Typs geändert wurden (je nach Sicherungstyp kann es sich entweder um eine kumulative inkrementelle Sicherung oder eine differentielle inkrementelle Sicherung handeln).

Was die Befehle betrifft, so ist die Backup-Eingabeaufforderung relativ ähnlich (mit möglichen Ergänzungen in Form verschiedener Parameter):

 

BACKUP INCREMENTAL;

Hinzu kommt, dass mit den inkrementellen Backups des RMAN auch Schattenkopien/Snapshot-Dateien erstellt werden können. Beispielsweise kann der Befehl zur Erstellung einer inkrementellen Sicherung im Fast Recovery Bereich mit folgendem Befehl ausgelöst werden:

 

BACKUP INCREMENTAL LEVEL 1 … FROM SCN

Wie Sie sehen, gibt es viele Möglichkeiten, die RMAN als native Oracle-Backup-Lösung bieten kann. Gleichzeitig hat er aber auch seine eigenen Grenzen, und hier kommen Backup-Lösungen von Drittanbietern ins Spiel.

Oracle-Sicherung und -Wiederherstellung mit Bacula Enterprise

Eine Kopie Ihrer wichtigen Daten, die Sie getrennt vom Original aufbewahren, um sie im Falle eines Datenverlustes wiederherstellen zu können, wird als Datensicherung bezeichnet. Jedes Unternehmen hat Daten, die es schützen muss und die es nicht verlieren möchte - das gilt auch für Benutzer von Oracle-Datenbanken. Datenverlust ist der Hauptgrund, warum Sie ein Backup benötigen, um Ihre Oracle-Datenbankumgebung zuverlässig und sicher zu halten.

Die meisten Unternehmen, die Oracle einsetzen, ziehen es vor, eine eigene Person mit der Verwaltung ihrer Oracle-Backup-Vorgänge zu betrauen - diese Position wird als "Backup-Administrator" bezeichnet. In der Regel wird diese Person mit einer Reihe von Aufgaben betraut, darunter:

  • Ausarbeitung eines geeigneten Sicherungsplans;
  • Bereitschaft zur Lösung von Problemen, die im Zusammenhang mit dem gesamten Sicherungs- und Wiederherstellungsprozess auftreten können;
  • Durchdenken und Testen verschiedener Situationen mit verschiedenen Arten von möglichen Hardware- oder Softwarefehlern im Zusammenhang mit Datenverlust;
  • Nicht direkt mit dem Sicherungsprozess zusammenhängende, aber dennoch mögliche Aufgaben sind Datenerhaltung und Datentransfer;
  • Bereitschaft zur Wiederherstellung im Falle eines Datenverlustes jeglichen Ausmaßes.

Apropos Oracle-Datenbankverlust: Die Vielzahl der möglichen Gründe für den Verlust der Datenbank verdeutlicht, dass die Durchführung von Oracle-Backups generell eine gute Sache ist! Einige der verschiedenen Ursachen für einen Datenverlust können zum Beispiel sein:

  • Hardware-Absturz;
  • Unfälle bei unsachgemäßem Umgang mit Daten;
  • Datenbeschädigung durch einen Virus;
  • Fehler bei der Datenmigration von einem Gerät oder System auf ein anderes, usw.

Es gibt viele Möglichkeiten, Oracle-Datenbanken zu sichern. Geclusterte Modi bieten Ausfallsicherheit bei Hardwareproblemen, und hochverfügbare, cloudbasierte und konvergente Infrastrukturen bieten neue Optionen für Datensicherheit und -freiheit zusammen mit Redundanz. Unabhängig von diesen Optionen ist die Sicherung von Oracle-Datenbanken nach wie vor von entscheidender Bedeutung, um sicherzustellen, dass ein kleiner Fehler, eine Beschädigung oder ein Hack nicht die kritischen Daten zerstört, die sich selbst in der besten Infrastruktur befinden. Datenbankserver sind nach wie vor eine Schlüsselkomponente der meisten Unternehmen und enthalten oft die wichtigsten Informationen für die Kontinuität des Betriebs. Der folgende Leitfaden zeigt Ihnen, wie Sie Oracle-Backups und -Wiederherstellungen mit Hilfe der SBT-Funktionalität von RMAN durchführen können, die es ermöglicht, Daten direkt in Bacula Enterprise zu übertragen.

Mögliche Arten der Oracle-Sicherung und -Wiederherstellung

Es gibt zwei Methoden zur Sicherung von Oracle-Datenbanken:

  • Mit Bacula verwaltete Sicherung im Oracle-Dump-Modus. Diese Methode ist schnell und einfach einzurichten, ist aber auf kleinere Datenbanken beschränkt und unterstützt keine Point-in-Time-Wiederherstellung oder inkrementelle Backups.
  • RMAN-verwaltete Sicherung (Oracle SBT-Modus). Dieser Modus ist auch als Oracle Recovery Manager (RMAN) bekannt und ist eine originale Funktion des Oracle-Datenbankservers, d. h. Sie müssen ihn nicht manuell installieren - er ist bereits auf der Serverseite enthalten. Dieser Modus nutzt das exzellente RMAN-Backup-Tool und die APIs, um Bacula die Möglichkeit zu geben, fortschrittlichere Backup-Modi zu initiieren, die PITR, inkrementelle und differenzielle Datenbank-Backups unterstützen und die Vorteile von RMANs Change-Tracking-Funktion nutzen können, um die Leistung inkrementeller Backups zu verbessern. Es ist auch die benutzerfreundlichste Variante, da RMAN eine einzige Schnittstelle für alle Betriebssysteme verwendet, was die Sache sehr viel einfacher macht.

Da RMAN-basierte Backups die bevorzugte Lösung sind, werden hier einige der wichtigsten Vorteile dieser Lösung aufgeführt:

  • Binäre Kompression. Diese Art von Komprimierungsmechanismus ist in die Oracle-Datenbank als System integriert und sein Hauptzweck besteht darin, die Gesamtgröße eines durchschnittlichen Backups zu reduzieren.
  • Automatisierte Datenbankduplizierung. Eine Reihe von Funktionen, die in Oracle implementiert sind, ermöglichen die einfache Erstellung einer Kopie Ihrer Datenbank unter Verwendung einer großen Anzahl von Speicherkonfigurationen.
  • Inkrementelle Backups. Bei dieser Art der Sicherung werden nur die Blöcke aufbewahrt und gesichert, die seit der letzten Vollsicherung in irgendeiner Weise verändert wurden. Diese Art der Sicherung erfordert weit weniger Speicherplatz als die herkömmliche und bietet mehr Flexibilität bei der Wiederherstellung im Falle einer Katastrophe.
  • Verschlüsselte Backups. RMAN kann Ihre Datenbank mit Hilfe der integrierten Verschlüsselungsfunktion für Backups verschlüsseln. Es gibt einen Unterschied zwischen der Erstellung eines solchen Backups auf einer Festplatte und der Erstellung desselben Backups direkt auf einem Band. Für Disk - die betreffende Datenbank muss die Advanced Security Option aktivieren. Für Band - RMAN muss die Oracle SBT-Schnittstelle verwenden, aber die Advanced Security Option muss nicht aktiviert sein.
  • Wiederherstellung von Blockmedien. Wenn die Menge der beschädigten Daten relativ gering ist, müssen Sie nicht unbedingt die gesamte Sicherung wiederherstellen, um sie zu reparieren - diese Funktion wird Block Media Recovery genannt und kann auch verwendet werden, ohne die Datei selbst offline zu nehmen.

In dieser Anleitung werden wir Oracle SBT-Backups einrichten.

Teil 1: Konfigurieren Sie das Oracle Backup- und Recovery-Plugin in Bweb

Schritt 1. Konfigurieren Sie in Bweb ein neues Fileset für den Auftrag. Wählen Sie auf der Registerkarte "Plugin" des Filesets Oracle SBT.

backup oracle database

Schritt 2. Das Oracle Backup- und Recovery-Plugin wird hauptsächlich auf der Client-Seite konfiguriert, so dass in den meisten Fällen keine weitere Konfiguration in Bweb erforderlich ist. Der neue Dateisatz kann übertragen werden.

oracle backup and recovery

Schritt 2a: Bitte beachten Sie die verschiedenen Optionen zur Sicherung von Oracle-Datenbanken, die zur Verfügung stehen, wenn das Oracle-Plugin (nicht-SBT) gewählt wird. Das Oracle-Plugin-Whitepaper behandelt diese alternativen Methoden eingehend.

oracle backup

Teil 2: Wie bei anderen Datenbank-Plugins müssen der Bacula Enterprise File Daemon und die entsprechende

Datenbank-Plugin-Komponente (in diesem Fall Oracle SBT) zunächst auf dem Datenbank-Server installiert werden. Dadurch werden die notwendigen Werkzeuge für das Bacula-Backup auf dem Datenbankserver installiert. Bitte lesen Sie das Oracle-Whitepaper oder wenden Sie sich an den Support von Bacula Systems, wenn Sie Hilfe bei diesem Schritt benötigen.

Schritt 1: Installieren Sie den Bacula File Daemon und die Oracle-Backup-Plugin-Pakete

Schritt 2: Installieren Sie die sbt-Bibliothek in Oracle


/opt/bacula/scripts/install-sbt-libobk.sh install

Schritt 3: Starten Sie Oracle neu.

Schritt 4: Kopieren Sie bconsole und stellen Sie sicher, dass Oracle es lesen kann:


cp /opt/bacula/bin/bconsole /opt/bacula/ oracle
cp /opt/bacula/etc/bconsole.conf /opt/bacula/oracle
chown oracle:dba /opt/bacula/oracle/bconsole*
chmod go-rxw /opt/bacula/oracle/bconsole*

Schritt 5: Bearbeiten Sie /opt/bacula/etc/sbt.conf, um den Jobnamen, den Pfad und die Konfiguration von bconsole sowie den Client-Namen anzugeben:


client=oracle-fd
job=OracleBackup
bconsole="/opt/bacula/oracle/bconsole -n -c /opt/bacula/oracle/bconsole.conf"

Beispiele für Dateisätze und Jobs:

Nachfolgend finden Sie Beispiele für das einfache Fileset, das in Teil 1 in BWeb konfiguriert wurde, sowie einen Beispieljob, der dieses Fileset verwendet. Vertiefende Bweb-Tutorials finden Sie in der Video-Dokumentation von Bacula Systems:


FileSet {
Name = SBT-FileSet
Include {
Options {
Signature = MD5
}
Plugin = oracle-sbt
}
}

Job {
Name = SBT-Backup
FileSet = SBT-FileSet
Client = oracle-fd
Maximum Concurrent Jobs = 10
Messages = Standard
Pool = Default
Storage = File
}

Teil 3: Testen Sie die Plugin-Konnektivität und führen Sie Oracle Backup aus:

Schritt 1: Testen Sie das Plugin


/opt/bacula/scripts/install-sbt-libobk.sh test

Schritt 2: Führen Sie manuell ein Backup über RMAN durch:


RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
ALLOCATE CHANNEL c3 DEVICE TYPE sbt;
BACKUP INCREMENTAL LEVEL 0 DATABASE plus archivelog;
}

Ein typischer erfolgreicher RMAN-Backup-Output sieht wie folgt aus und ist ein Hinweis darauf, dass das SBT-Plugin installiert, korrekt konfiguriert und bereit ist, Backups auszuführen:


[oracle@centos07 ~]$ rman target /

Recovery Manager: Release 12.1.0.2.0 - Production on Thu Mar 23 11:02:22 2017

Copyright (c) 1982, 2015, Oracle and/or its affiliates. All rights reserved.

connected to target database: CENTOS07 (DBID=2213460080)

RMAN> run {

2> allocate channel c1 type sbt;

3> backup database plus archivelog;

4>}

using target database control file instead of recovery catalog

allocated channel: c1

channel c1: SID=44 device type=SBT_TAPE

channel c1: Bacula Enterprise Oracle SBT Plugin 1.0.0.7

Starting backup at 23-MAR-17

current log archived

channel c1: starting archived log backup set

channel c1: specifying archived log(s) in backup set

input archived log thread=1 sequence=23 RECID=1 STAMP=894837644
input archived log thread=1 sequence=24 RECID=2 STAMP=894882191
input archived log thread=1 sequence=25 RECID=3 STAMP=894882226
input archived log thread=1 sequence=26 RECID=4 STAMP=894924027
input archived log thread=1 sequence=27 RECID=5 STAMP=912953744
input archived log thread=1 sequence=28 RECID=6 STAMP=912955548
input archived log thread=1 sequence=29 RECID=7 STAMP=912955554
input archived log thread=1 sequence=30 RECID=8 STAMP=912955561
input archived log thread=1 sequence=31 RECID=9 STAMP=912955564
input archived log thread=1 sequence=32 RECID=10 STAMP=912964429
input archived log thread=1 sequence=33 RECID=11 STAMP=939375680
input archived log thread=1 sequence=34 RECID=12 STAMP=939380476
input archived log thread=1 sequence=35 RECID=13 STAMP=939380575

channel c1: starting piece 1 at 23-MAR-17

channel c1: finished piece 1 at 23-MAR-17

piece handle=07rvrjqv_1_1 tag=TAG20170323T110255 comment=API Version 2.0,MMS Version 1.0.0.7

channel c1: backup set complete, elapsed time: 00:00:25

Finished backup at 23-MAR-17

Starting backup at 23-MAR-17

channel c1: starting full datafile backup set

channel c1: specifying datafile(s) in backup set

input datafile file number=00001
name=/u01/app/oracle/oradata/CENTOS07/datafile/o1_mf_system_c2kyrs39_.dbf

input datafile file number=00003
name=/u01/app/oracle/oradata/CENTOS07/datafile/o1_mf_sysaux_c2kyqoql_.dbf

input datafile file number=00004
name=/u01/app/oracle/oradata/CENTOS07/datafile/o1_mf_undotbs1_c2kyt7s9_.dbf

input datafile file number=00006
name=/u01/app/oracle/oradata/CENTOS07/datafile/o1_mf_users_c2kyt6j4_.dbf

channel c1: starting piece 1 at 23-MAR-17

channel c1: finished piece 1 at 23-MAR-17

piece handle=08rvrjrp_1_1 tag=TAG20170323T110321 comment=API Version 2.0,MMS Version 1.0.0.7

channel c1: backup set complete, elapsed time: 00:00:56

channel c1: starting full datafile backup set

channel c1: specifying datafile(s) in backup set

including current control file in backup set

channel c1: starting piece 1 at 23-MAR-17

channel c1: finished piece 1 at 23-MAR-17

piece handle=09rvrjth_1_1 tag=TAG20170323T110321

comment=API Version 2.0,MMS Version 1.0.0.7

channel c1: backup set complete, elapsed time: 00:00:03

Finished backup at 23-MAR-17

Starting backup at 23-MAR-17

current log archived

channel c1: starting archived log backup set

channel c1: specifying archived log(s) in backup set

input archived log thread=1 sequence=36 RECID=14 STAMP=939380664

channel c1: starting piece 1 at 23-MAR-17 channel c1: finished piece 1 at 23-MAR-17

piece handle=0arvrjto_1_1 tag=TAG20170323T110424 comment=API Version 2.0,MMS Version 1.0.0.7

channel c1: backup set complete, elapsed time: 00:00:01

Finished backup at 23-MAR-17 released channel: c1

Wiederherstellung von Oracle-Datenbanken

Auch wenn ein Backup an sich unglaublich wichtig ist, so ist es doch erwähnenswert, dass die Wiederherstellungsfunktionen natürlich ein wichtiger Teil des gesamten Prozesses im Oracle-Datenbank-Backup- und Recovery-Zyklus sind. Ein Backup ohne die Möglichkeit der Wiederherstellung nützt niemandem etwas.

Doch zunächst müssen wir einige Grundlagen behandeln. Wie bereits erwähnt, gibt es eine Vielzahl von Umständen, die eine Wiederherstellung Ihrer Datenbank erforderlich machen können. Es kann sich beispielsweise um eine Reihe von Hardware- und Firmware-Problemen handeln:

  • Blockbeschädigung;
  • Datenverlust;
  • Benutzerfehler;
  • Probleme mit Upgrades;
  • Natürliche oder unnatürliche Katastrophen.

Sie müssen sich zuerst mit dem Wiederherstellungskatalog verbinden, wenn Sie eine Datenbank mit RMAN wiederherstellen oder wiederherstellen wollen. Der nächste Schritt ist die Zuweisung von Kanälen entweder auf Band oder auf Platte. Der Zweck des Wiederherstellungskatalogs ist es, alle Arten von Informationen über die Datenbanksicherung oder Backups bereitzustellen. Sie können auch eine separate Steuerdatei für ähnliche Zwecke konfigurieren. Der Unterschied zwischen den Befehlen "restore" und "recover" besteht darin, dass "restore" genau das tut, was Sie erwarten - es stellt die Datenbankdateien wieder her, aber "recover" ist etwas anders, da es alle in den archivierten Datenprotokollen aufgezeichneten Änderungen übernimmt.

Oracle-Datenbank-Backup und -Wiederherstellung als Prozess kann mehrere Wiederherstellungsoptionen bieten, darunter:

  • Punktuelle Wiederherstellung

Wenn Sie Oracle verwenden, ist der Wiederherstellungsprozess nicht so kompliziert. Sie können ganz einfach die gesamte Datenbank wiederherstellen und danach mit "recover"-Befehlen den spezifischen Punkt auswählen, bis zu dem Ihre Datenbank wiederhergestellt werden soll. Wenn Sie RMAN verwenden, gibt es neben der grundlegenden vollständigen Wiederherstellung noch weitere Optionen - Sie können den Zustand Ihrer Datenbank auf einen bestimmten Zeitpunkt zurücksetzen oder den Zustand mit einem bestimmten Archivprotokoll abgleichen.

  • Wiederherstellung von Tablespaces/Datafiles/Blocks

Wenn Ihre Datenbank viele Tablespaces enthält, können Sie diesen Wiederherstellungsmodus wählen, um die Ausfallzeit der Datenbank auf die Tablespace-Benutzer zu beschränken, die jetzt beschädigte Dateien verwenden. Im Allgemeinen ist die Wiederherstellung von Tablespaces etwas komplizierter als die übliche Wiederherstellungsfunktion für Datenbanken, da Sie nach der Wiederherstellung keinen bestimmten Tablespace wiederherstellen können. Deshalb wird ein Backup direkt nach der Wiederherstellung dieser Tablespaces empfohlen. Eine weitere Besonderheit bei der Verwendung von RMAN ist, dass Sie in der Lage sind, sowohl die Blocknummer als auch die Datendateinummer anzugeben, was den Wiederherstellungsprozess vereinfacht.

  • Berater für die Datenwiederherstellung

Der Service von Oracle enthält auch eine Funktion namens Data Recovery Advisor, die Sie aufrufen können, wenn Sie Probleme mit einer oder mehreren Ihrer Datenbankdateien haben. Dieser Berater kann Ihnen sowohl das Reparaturskript auf der Grundlage Ihrer Datenbank zur Verfügung stellen als auch zeigen, wie viel Sie in Ihrer aktuellen Situation wiederherstellen können. Sie können das bereitgestellte Skript auch ganz einfach direkt nach dem Start des Beraters aktivieren.

Bei der Verwaltung von Oracle-Backups geht es jedoch nicht nur darum, Ihre Aufbewahrungsrichtlinien einzuhalten, sondern auch darum, den Überblick darüber zu behalten, welche Backups Sie zu einem bestimmten Zeitpunkt für Wiederherstellungsvorgänge verwenden können. Für diese Aufgabe gibt es mehrere Ansätze:

Der erste Ansatz dient ausschließlich dazu, eine Liste der verfügbaren Sicherungen abzurufen, und kann ohne großen Aufwand mit dem LIST-Befehl von RMAN durchgeführt werden. Dieser spezielle Befehl ruft eine Tabelle mit Sicherungssätzen ab, die zusätzliche Informationen über jeden dieser Sätze enthält, wie z. B. das Erstellungsdatum, den Sicherungstyp, die spezifischen Teile einer Datenbank, die kopiert wurden, und mehr.

Der zweite Ansatz für die Verwaltung von Oracle-Sicherungen konzentriert sich auf die Beseitigung veralteter Dateien. Er wird im Wesentlichen durch nur zwei Parameter gesteuert (RECOVERY WINDOW und REDUNDANCY, für die Anzahl der Tage für eine Aufbewahrungsrichtlinie bzw. die Anzahl der Sicherungen) und besteht aus drei möglichen Optionen:

  • Auslaufen. Wird durch REDUNDANCY und RECOVERY WINDOW gesteuert und ist in der Regel Teil eines Sicherungsskripts oder eines Sicherungsauftrags mit einem EXPIREDATE-Parameter.
  • Aus Katalog löschen. Der Sicherungsverlauf wird gelöscht, wobei eine Chance zur Wiederherstellung besteht, wenn es sich um ein Versehen handelt oder wenn die betreffenden Daten benötigt werden.
  • Abgelaufen löschen. Eine routinemäßige Bereinigungsaufgabe, die veraltete Backups und Archivprotokolle löscht.

Die meisten Oracle-Backup-Vorgänge befassen sich zwar mit der Sicherung der gesamten Datenbank, aber es gibt auch die Möglichkeit, bestimmte Objekte wiederherzustellen, so dass jedes Objekt innerhalb Ihres Systems zu jedem beliebigen Zeitpunkt getrennt vom Rest gesichert oder wiederhergestellt werden kann. Wie beim vorherigen Thema gibt es auch hier mehrere Möglichkeiten, sich dem Thema zu nähern:

  • Oracle Data Pump. Data Pump ist ein Oracle-Dienstprogramm, das sowohl den Export als auch den Import von bestimmten Objekten oder Tabellen ermöglicht. Es ist erwähnenswert, dass die DDL (Data Definition Language) ebenfalls enthalten ist, was bedeutet, dass die gesamte Struktur der fraglichen Tabelle oder Prozedur mit dem wiederherzustellenden Objekt oder der Tabelle neu erstellt wird. Auf diese Weise kann auch nur die Struktur ohne Daten wiederhergestellt werden, um sie als Vorlage oder als Sicherungsmaßnahme zu verwenden.
  • Verwendung von Tabellen-/Schemaebenen zum Kopieren bestimmter Objekte. Einzelne Tabellen können in Oracle mit dem CREATE-Befehl wiederhergestellt werden, der Tablespaces ohne Protokollierung einschließt - das bedeutet, dass Sie nur die Daten wiederherstellen können, nicht aber die Struktur wie Indizes, Trigger, Konstanten usw.

Abschließende Überlegungen zu Oracle Backup und Wiederherstellung

Da das Bacula Enterprise Oracle SBT-Plugin RMAN für erweiterte Backup-Funktionen nutzt, müssen einige zusätzliche Konfigurationen in Oracle vorgenommen werden.

Aufbewahrungszeitraum:

Wenn Sie das RMAN SBT-Plugin verwenden, sollte die in RMAN definierte Backup-Aufbewahrungszeit mit der Bacula-Volume- oder Job-Aufbewahrungszeit übereinstimmen.

Archiv-Protokoll:

Um den RMAN-Sicherungsmodus zu verwenden, muss sich die Datenbank im ARCHIVELOG-Modus befinden.

Bitte konsultieren Sie das Bacula Whitepaper zu Oracle Backup und den Bacula Systems Support, wenn Sie nach dem Lesen dieses Leitfadens zu Oracle Backup und Recovery weitere Informationen benötigen, Hilfe benötigen oder Fragen haben.

Über den Autor

Rob Morrison Rob on LinkedIn

Rob Morrison ist der Marketingdirektor bei Bacula Systems. Er begann seine IT-Marketing-Karriere bei Silicon Graphics in der Schweiz, wo er fast 10 Jahre lang in verschiedenen Marketing-Management-Positionen sehr erfolgreich war. In den folgenden 10 Jahren hatte Rob Morrison auch verschiedene Marketing-Management-Positionen bei JBoss, Red Hat und Pentaho inne und sorgte für das Wachstum der Marktanteile dieser bekannten Unternehmen. Er ist Absolvent der Plymouth University und hat einen Honours-Abschluss in Digital Media and Communications und ein Overseas Studies Program absolviert.

Leave a comment

Deine Email-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *