it-swarm.com.de

Wie ändere ich den Pfad der temporären Datei und mache die Protokolldatei erneut, wenn ich eine rman-Sicherung auf einem anderen Computer wiederherstelle?

Ich versuche, meine Datenbank (11.2.0.4) A mithilfe von rman backup auf einen anderen Computer zu migrieren. Derzeit wird auf dem Quellcomputer die Redo-Log-Datei und die temporäre Datei im Verzeichnis foo (/foo). Auf dem Zielcomputer möchte ich diese Dateien in der Verzeichnisleiste (/bar). In der Vergangenheit habe ich foo für diese Dateien erstellt und diese Dateien nach Abschluss der Wiederherstellung manuell in die Leiste verschoben. RMAN ist ein so leistungsfähiges Tool, dass ich denke, es muss eine einfache Möglichkeit geben, meine Anforderungen zu erfüllen. Bisher habe ich durch Durchsuchen von Google einen nützlichen rman-Befehl für temporäre Dateien erhalten:

set newname for tempfile <fileno> to '<path>'

Es scheint, dass es keinen ähnlichen Befehl für die Wiederherstellungsdatei gibt. Bevor ich diesen Befehl verwende, um eine Wiederherstellung durchzuführen, muss ich einige Fragen stellen:

  1. Wenn wir eine vollständige Sicherung durchführen, wurde die Sicherung nicht mit temporären Tabellenbereichen und Wiederherstellungsdateien erstellt, aber in der vergangenen Migration stellte ich fest, dass beim Öffnen (alter database open resetlogs) Nach Abschluss der Wiederherstellung sind in der Datenbank Redo-Log-Dateien und temporäre Dateien vorhanden. Wird rman dies automatisch für die Datenbank erstellen? Ich kann die zuverlässigen Oracle-Dokumente für dieses Thema nicht finden.
  2. Das Ändern des Pfads für das Wiederherstellen ist so langweilig, dass ich diese Aufgabe in den rman-Skripten beenden würde. Gibt es einen Befehl zum Umbenennen der Redo-Protokolldatei in den rman-Skripten?
5
user4535727

Am einfachsten ist es, dafür Oracle Managed Files zu verwenden. Oracle platziert und benennt die Dateien nur an den von der

db_create_file_dest = '/on/some/disk'
db_create_online_log_dest_1 = '/on/other/disk'
...
db_create_online_log_dest_5 = '/on/extra_other/disk'

parameter. Abhängig von Ihren Verfügbarkeitsanforderungen verwenden Sie mehr oder weniger db_create_online_log_dest_N-Parameter. Wenn Sie die Verfügbarkeit und Leistung ernst nehmen, verfügen Sie über separate Festplatten und Controller für die verschiedenen Standorte.

Gut Dokumentation um zu beginnen

1
ik_zelf

Sie können entweder eine Pfile verwenden und Folgendes in der Pfile festlegen, oder Sie können eine SP-Datei verwenden und einen Startnomount ausführen, um die folgenden Variablen festzulegen. Sie können so viele Verzeichnisse haben, wie Sie möchten. Das Muster lautet weiterhin: '', '', '', '', '', '' ...

alter system set db_file_name_convert='/foo/','/bar/' scope=spfile;
alter system set log_file_name_convert='/foo/','/bar/' scope=spfile;

Sie können das Wiederherstellen auch im Befehl klonen/wiederherstellen angeben.

DUPLICATE DATABASE TO mytest BACKUP LOCATION '/mybackup/mytest' 
LOGFILE 
       GROUP 1 ('/mybackup/mytest/redo01a.log',  '/mybackup/mytest/redo01b.log') SIZE 256M REUSE,
       GROUP 2 ('/mybackup/mytest/redo02a.log',  '/mybackup/mytest/redo02b.log') SIZE 256M REUSE,
       GROUP 3 ('/mybackup/mytest/redo03a.log',  '/mybackup/mytest/redo03b.log') SIZE 256M REUSE  
NOFILENAMECHECK;
1
Gandolf989