How To Restore Rman Backups On A Different Node When The Directory Structures Are Different (Doc ID 419137.1)

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

Backup of Database of Rman IS ++ DONE ON NODEs 1.   RMAN database backup nodes 1
++ 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
-----------------------

++ The backups on NODE 1 are done   to '/ <node1 path> / backup' backup to completion on 1 NODE '/ <node1 path> / Backup' 
++ 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';
This feature of cataloging backup pieces is available from ORACLE 10g versions. Prior to Oracle 10g we were not able to catalog the backup pieces. For more information on cataloging options refer the metalink note 470463.1   
From ORACLE 10g version can be used for backup pieces were catalog. Prior to Oracle 10g, we can not catalog for the backup file. For more information about the catalog options, see metalink note 470463.1 

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 are restoring the Rman backups from  tapes, then we should ensure the same media manager variables that were used during backups are maintained during restore too.
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

Guess you like

Origin www.cnblogs.com/zylong-sys/p/11990436.html