Wiederherstellen RMAN-backup auf eine andere Instanz: name der Datenbank in der control-Datei ist nicht der name der Instanz
Habe ich wurde beauftragt mit der Entwicklung einer Oracle-11g-backup - /restore-Strategie für einige remote-Instanzen. Mein Ziel ist es, ein Skript, das ein backup der Instanz, die ich in der Lage, die Verwendung mit einer vorhandenen Instanz (möglicherweise auf dem gleichen server), oder erstellen Sie eine völlig neue Instanz mit.
Sagen wir, ich habe zwei Instanzen, eine source
und destination
.
Den source
Beispiel-Konfiguration, die als Ergebnis der RMAN> show all
:
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name SOURCE are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
Ich geschrieben habe ein backup-Skript, unten zu sehen:
#!/bin/bash
export ORACLE_SID=SOURCE
rman target / <<EOF
CONFIGURE CONTROLFILE AUTOBACKUP ON;
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/%F';
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE to '/backup/%F';
DELETE NOPROMPT BACKUP;
BACKUP CURRENT CONTROLFILE;
BACKUP AS BACKUPSET CHECK LOGICAL DATABASE PLUS ARCHIVELOG DELETE INPUT;
QUIT;
EOF
In /backup
es scheint einige Dateien wie backup_4noqqute_151_1
, backup_4noqqute_152_1
, und so weiter, sowie c-454077755-20131206-07
-- ich glaube, dass die ehemaligen Dateien sind die Datenbank - /archive-log-sicherungen, die letztere die controlfile.
Ich führen Sie die folgenden Befehle im Versuch zur Wiederherstellung der Sicherung an einem anderen Beispiel DESTINATION
:
export ORACLE_SID=DESTINATION
rman target /
RMAN> SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/%F';
RMAN> RESTORE CONTROLFILE FROM '/backup/c-454077755-20131206-07';
RMAN> ALTER DATABASE MOUNT;
Und diese Fehlermeldung erhalten:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 12/06/2013 10:44:51
ORA-01103: database name 'SOURCE' in control file is not 'DESTINATION'
Wie löse ich dieses problem? Ich kann es nicht umbenennen DESTINATION
als SOURCE
auf dem gleichen server und läuft immer noch. Ich sah ein ähnliches problem in dieser Beitrag, aber es ist unvollständig erklärt und ich verstehe es nicht. Ich bin der Hoffnung, dass da habe ich eine Menge Informationen, jemand ist in der Lage, angemessen erklären Sie mir, wie dieses problem zu lösen.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
WIEDERHERSTELLUNG ist nicht das bequemste Befehl erfüllen Sie die Anforderungen (in diesem Fall würden Sie brauchen, um vorübergehend eingestellt db_name= - parameter an eine neue Instanz identisch ist, die vorhandene Datenbank, dann wiederherstellen alle Dateien, die unterschiedliche Namen und dann zum ausführen eines Verfahrens zum ändern der Datenbank-name und id - durchaus eine schwierige Aufgabe ist).
Auf 11g, den richtigen Befehl verwenden soll, in dieser situation eine DOPPELTE DATENBANK. Die Quelle, die DOPPELTE Verwendung ist entweder aus backup (genau so, wie die WIEDERHERSTELLUNG funktioniert) oder AUS der AKTIVEN DATENBANK.
- und restore -