How To Restore Rman Backups On A Different Node When The Directory Structures Are Different (Doc ID 419137.1)
APPLIES TO:
Oracle Database - Enterprise Edition - Version 10.1.0.2 and later
Information in this document applies to any platform.
***Checked for relevance on 20-July-2015***
GOAL
Restoring Rman backup on a different node with different backup directory structures and different database directory structures.
Restore backup Rman on different nodes have different structures and different backup directory database directory structure
++ The database has to be has to be restored from the Rman backup on NODE 2. The database must has been restored from the backup RMAN node 2
++ at the directory structures for at the backups and database files are at the oN nODE 2. different directory structure and database files for backup on a different node 2
++ the Rman backups have to put in new directory structure on nODE 2 unlike as 1. oN NODEs were They of Rman backup directory structure must be placed on a new NODE 2, which differ in NODE 1.
Also at The Database has to ++ restored to BE ON NODE A Different Directory Structure 2. Similarly, the database must be restored to a different directory structure on the 2 NODE
SOLUTION
ASSUMPTIONS assume
-----------------------
++ NODEs. 1 of The Database Files are in ON '/ <path node1 > / Data ' NODEs database file located on a' / <node1 path> / Data '
++ 2 of the backups will bE oN NODEs in LOCATION' / <node2 path> / backup ' backup located on the 2 NODE' / < path node2> / Backup '
++ oN NODEs of the database files will bE restored to 2' / <node2 path> / data ' NODEs database files are restored to the 2' / <node2 path> / data '
Steps to acheive the goal: a step to achieve the target
. 1) Connect to Database The target and the using RMAN Backup The Database ---> the ON NODEs. 1
$ rman target / Recovery Manager: Release 10.2.0.1.0 - Production on Tue Feb 13 00:29:33 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database: <DB_NAME> (DBID=3932056136) RMAN> backup database plus archivelog; Starting backup at 13-FEB-07 current log archived using channel ORA_DISK_1 channel ORA_DISK_1: starting archive log backupset channel ORA_DISK_1: specifying archive log(s) in backup set input archive log thread=1 sequence=143 recid=109 stamp=614392105 channel ORA_DISK_1: starting piece 1 at 13-FEB-07 channel ORA_DISK_1: finished piece 1 at 13-FEB-07 piece handle=/<node1 path>/backup/o1_mf_annnn_TAG20070213T002825_2x21kbds _.bkp tag=TAG20070213T002825 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 13-FEB-07 Starting backup at 13-FEB-07 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00003 name=/<node1 path>/data/sysaux01.dbf input datafile fno=00001 name=/<node1 path>/data/system01.dbf input datafile fno=00002 name=/<node1 path>/data/undotbs01.dbf input datafile fno=00004 name=/<node1 path>/data/users01.dbf input datafile fno=00005 name=/<node1 path>/data/1.dbf input datafile fno=00006 name=/<node1 path>/data/sysaux02.dbf input datafile fno=00007 name=/<node1 path>/data/undotbs02.dbf channel ORA_DISK_1: starting piece 1 at 13-FEB-07 channel ORA_DISK_1: finished piece 1 at 13-FEB-07 piece handle=/<node1 path>/backup/o1_mf_nnndf_TAG20070213T002827_2x21kd12 _.bkp tag=TAG20070213T002827 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:55 Finished backup at 13-FEB-07 Starting backup at 13-FEB-07 current log archived using channel ORA_DISK_1 channel ORA_DISK_1: starting archive log backupset channel ORA_DISK_1: specifying archive log(s) in backup set input archive log thread=1 sequence=144 recid=110 stamp=614392165 channel ORA_DISK_1: starting piece 1 at 13-FEB-07 channel ORA_DISK_1: finished piece 1 at 13-FEB-07 piece handle=/<node1 path>/backup/o1_mf_annnn_TAG20070213T002925_2x21m6ty _.bkp tag=TAG20070213T002925 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 13-FEB-07 Starting Control File and SPFILE Autobackup at 13-FEB-07 piece handle=/<oracle_home>/dbs/c-3932056136-20070213-02 comment=NONE Finished Control File and SPFILE Autobackup at 13-FEB-07 RMAN> exit
2) Move the following files to the NODE 2: The following files are moved to NODE 2
+ The database backup pieces to location '/<node2 path>/backup' + Controlfile backup piece to the location '/<node2 path/backup' + The parameter file i.e init.ora file to the default location i.e $ORACLE_HOME/dbs
3) Edit the PFILE on NODE 2 to change the environment specific parameters like .
user_dump_dest = background_dump_dest = control_files =
4) Once the PFILE is suitably modified invoke Rman on the NODE 2 after setting the Oracle environment variables and start the database in nomount mode:
$ export ORACLE_HOME=/<oracle_home> $ export ORACLE_SID=<oracle_sid> $ export PATH=$ORACLE_HOME/bin:$PATH $ rman target / Recovery Manager: Release 10.2.0.1.0 - Production on Tue Feb 13 00:36:55 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database (not started) RMAN> startup nomount Oracle instance started Total System Global Area 205520896 bytes Fixed Size 1218508 bytes Variable Size 75499572 bytes Database Buffers 121634816 bytes Redo Buffers 7168000 bytes
5) Restore the controlfile from the backup piece.
RMAN> restore controlfile from '/<node2 path/backup/c-3932056136-20070213-02'; Starting restore at 13-FEB-07 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=155 devtype=DISK channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:02 output filename=/<node2 path/data/control01.ctl Finished restore at 13-FEB-07
6) Mount the database
RMAN > alter database mount
7) Now catalog the backup pieces that were shipped from NODE 1
Harman> Catalog backuppiece '/ <node2 path / backup / o1_mf_annnn_TAG20070213T002925_2x21m6ty_.bkp'; Harman> Catalog backuppiece '/ <node2 path / backup / o1_mf_annnn_TAG20070213T002825_2x21kbds_.bkp'; Harman> Catalog backuppiece '/ <node2 path / backup / o1_mf_nnndf_TAG20070213T002827_2x21kd12_.bkp';
8) Get to know the last sequence available in the archivelog backup using the following command.This will help us in recovering the database till that archivelog.
Use the following command to understand archivelog backup last available Sequence , which will help us to recover the database until the archivelog
RMAN > list backup of archivelog all; Let us assume the last sequence of last archivelog in the backup is 50.
9) Rename the Redolog files,so that they can be created in new locations when opened the database is opened in resetlogs
Rename Redolog , so resetlogs can create them in the new location when you open the database
SQL> alter database rename file '/<node1 path>/data/redo01.log' to '/<node2 path>/data/redo01.log'; ...... ...... ......
10) Now restore the datafiles to new locations and recover. Since we are recovering the database here till the archivelog sequence 50 the sequence number in the SET UNTIL SEQUENCE clause
Now restore data files to a new location and recover. As we recover the database here until the archive log sequence until the 50, SET UNTIL SEQUENCE clause serial number
RMAN> run { set until sequence 51; set newname for datafile 1 to '/<node2 path>/data/sys01.dbf'; set newname for datafile 2 to '/<node2 path>/data/undotbs01.dbf'; set newname for datafile 3 to '/<node2 path>/data/sysaux01.dbf'; set newname for datafile 4 to '/<node2 path>/data/users01.dbf'; set newname for datafile 5 to '/<node2 path>/data/1.dbf'; set newname for datafile 6 to '/<node2 path>/data/sysaux02.dbf'; set newname for datafile 7 to '/<node2 path>/data/undotbs02.dbf'; restore database; switch datafile all; recover database; alter database open resetlogs; }
If we want to restore Rman tape backup, then we should also make sure to keep the restore process and media Manager same manner as variables used during the backup.
The below article gives the information of various media manager Environment Variables.
The following article provides information on the various media manager environment variables
NOTE.312737.1 RMAN and Specific Media Managers Environment the Variables.
11) Confirm your tempfiles
Confirm the location of your tempfiles, recreate them at the new location if required:
Tempfiles confirm the location, if necessary, re-create them in the new location
SQL> select * from v$tempfile; SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'new tempfile path filename' REUSE;
REFERENCES
NOTE:228257.1 - RMAN 'Duplicate Database' Feature in Oracle9i / 10G and 11G
NOTE:73974.1 - RMAN: Restoring an RMAN Backup to Another Node