5 1 0: Oracle Datenbankduplizierung
Übersicht
Die hier erläuterten Verfahren und Funktionen bieten nur Informationen über die SEP sesam-spezifischen Teile der doppelten Oracle-Datenbank. Detaillierte Informationen zur Oracle-spezifischen Sicherung und Wiederherstellung finden Sie unter Oracle-Datenbank-Dokumentation.
RMAN hat die Möglichkeit, eine Datenbank aus einer Sicherung oder aus einer beliebigen aktiven Datenbank zu duplizieren. Der Zweck der Datenbankduplizierung ist die Erstellung einer doppelten Datenbank, d. h. einer separaten Datenbank, die alle oder eine Teilmenge der Daten der Quelldatenbank enthält. Eine doppelte Datenbank ist für verschiedene Zwecke nützlich, z.B. für Tests.
Mit dem RMAN-Befehl DUPLICATE können Sie ein Duplikat der Datenbank erstellen. Die duplizierte Datenbank ist die kopierte Datenbank, wobei die Datenbank, die Sie kopieren, die Quelldatenbank ist. Die kopierte Datenbank hat eine andere DBID als die Quelldatenbank und funktioniert unabhängig.
Voraussetzungen
Bevor Sie eine Datenbank duplizieren können, müssen Sie die folgenden Voraussetzungen erfüllen:
- Beide Datenbanken müssen sich auf demselben ORACLE-Rechner unter den separaten Instanzen SOURCE und RESTORE mit unterschiedlichen Pfaden oder auf den separaten Rechnern befinden.
- Die Instanz für RESTORE muss eingerichtet werden.
- Authentifizierungs- oder Passwortdateien des Betriebssystems.
- Initialisierungsparameter-Dateien PFILE oder SPFILE (init....ora Datei für die Instanz RESTORE).
- Die erforderlichen Verzeichnisse für die Datendateien, archivierten Redo-Protokolle und Dump-Ziele müssen vorhanden sein.
- Die neue Instanz RESTORE muss gestartet werden (startup nomount).
- Die Konnektivität zur neuen Instanz muss gegeben sein entweder durch die Umgebungsvariable ORACLE_SID=RESTORE oder
- $ORACLE_HOME/network/admin/listener.ora mit einem Eintrag für RESTORE.
- $ORACLE_HOME/network/admin/tnsnames.ora mit einem Eintrag für RESTORE.
- Der SQL*Net-Listener muss neu geladen werden, z.B. mit dem Befehl lsnrctl reload.
- Erfolgreich durchgeführte Sicherungen der Datenbank SOURCE müssen mit RMAN-Sicherungskatalog oder mit Speicherung der Sicherungshistorie in die Steuerdatei der Datenbank SOURCE (RMAN nocatalog) vorhanden sein.
- Vollsicherung der Datendateien mit Steuerdatei (RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON)
- Archivierte Redo-Protokoll-Sicherung
Duplizieren einer Datenbank aus der Sicherung
Dieser Abschnitt beschreibt kurz die Duplizierung der Datenbank SOURCE zur Datenbank RESTORE. Weitere Informationen finden Sie unter Oracle Rücksicherung.
Schritte
- Erstellen Sie eine RMAN-Befehlsdatei für den Duplizierungsprozess (z.B. duplicate_SOURCE.rman).
- Setzen Sie den Typ auf 'SBT' (oder 'SBT_TAPE') und setzen Sie die 'parms ENV=(...)' zu den SEP sesam Sicherungsauftrag spezifischen Werten.
- Das Schlüsselwort auxiliary in dem Befehl allocate channel spezifiziert eine Verbindung zwischen RMAN und der neuen Instanz RESTORE.
- set newname wird verwendet, um datafiles und tempfiles während der Rücksicherung umzubenennen. Um eine Liste von Datei-IDs und Dateinamen zu erstellen, können Sie die Ausgabe des RMAN-Reportschemas verwenden.
- Die Syntax für die Protokolldateioptionen ist die gleiche, die im Datenbank erstellen-Befehl verwendet wird.
- Aufrufen von RMAN zur Duplizierung der Datenbank. RMAN muß die Metadaten entweder von SOURCE oder dem RMAN-Katalog erhalten und mit der neuen Datenbank RESTORE verbunden sein. Je nach Sicherungsstrategie (z.B. ORACLE_SID ist auf RESTORE gesetzt) gibt es mehrere Möglichkeiten, die Metadaten zu erhalten:
- Ziel, aber kein Katalog
- Metadaten stammen aus der Steuerdatei der Zieldatenbank: $ rman TARGET sys/password@SOURCE AUXILIARY /
- Katalog, aber kein Ziel
- Die Metadaten stammen aus dem RMAN-Katalog: $ rman CATALOG rman/password@rman-catalog AUXILIARY /
- Ziel und Katalog
- Metadaten können aus der Zielsteuerungsdatei oder dem Katalog stammen: $ rman TARGET sys/password@SOURCE CATALOG rman/password@rman-catalog AUXILIARY /
- Kein Ziel oder Katalog
- Metadaten stammen aus Sicherungen: $ rman AUXILIARY /
- Führen Sie das Skript von RMAN aus: @duplicate_SOURCE.rman
Beispiel:
run { allocate auxiliary channel t1 type 'SBT' parms 'ENV=(SESAM_SERVER=qsstor,SESAM_JOB=ORACLE_SOURCE,SESAM_DRIVE=,SESAM_POOL=7days,SOB_TRACE=0,SOB_LOGFILE=/tmp/restore.log)'; set newname for datafile 1 to '/opt/oracle/restore/RESTORE/system01.dbf'; set newname for datafile 2 to '/opt/oracle/restore/RESTORE/sysaux01.dbf'; set newname for datafile 3 to '/opt/oracle/restore/RESTORE/undotbs01.dbf'; set newname for datafile 4 to '/opt/oracle/restore/RESTORE/users01.dbf'; set newname for datafile 5 to '/opt/oracle/restore/RESTORE/example01.dbf'; set newname for datafile 6 to '/opt/oracle/restore/RESTORE/sesamdata.dbf'; set newname for tempfile 1 to '/opt/oracle/restore/RESTORE/tempfile01.dbf'; duplicate target database to 'RESTORE' logfile '/opt/oracle/restore/RESTORE/redo01.log' SIZE 50M, '/opt/oracle/restore/RESTORE/redo02.log' SIZE 50M, '/opt/oracle/restore/RESTORE/redo03.log' SIZE 50M; }
Hinweis | |
Um eine Datenbank für Standby zu duplizieren, muss der DUPLICATE Befehl mit der FOR STANDBY Klausel verwendet werden. In diesem Fall erzeugt RMAN keine eindeutige DBID und öffnet die Datenbank nicht. |
Siehe auch
Oracle Rücksicherung – Oracle Anforderungen und Konfiguration – Oracle Sicherung
Externe Referenzen
- Duplicating a Database with Recovery Manager
- Duplicating a Database
- The Duplicate entry in Oracle Database Backup and Recovery Reference
- Creating a Standby Database with Recovery Manager
- Duplicate a Database Using RMAN in Oracle Database