zoukankan      html  css  js  c++  java
  • 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 .
    在具有不同备份目录结构和不同数据库目录结构的不同节点上还原Rman备份

    ++ Rman backup of database is done on NODE 1.  数据库的RMAN备份是节点1进行
    ++ The database has to be has to be restored from the Rman backup on NODE 2.  该数据库必须是已经被从RMAN备份中恢复节点2
    ++ The directory structures for the backups and the database files are different on NODE 2.  用于备份的目录结构和数据库文件在节点2不同
    ++ The Rman backups have to put in new directory structure on NODE 2 unlike as they were on NODE 1.  Rman备份必须在NODE 2上放入新的目录结构,这与在NODE 1上不同。
    ++ Also the database has to be restored to a different directory structure on NODE 2.  同样,数据库也必须还原到NODE 2上的其他目录结构

    SOLUTION

    ASSUMPTIONS  假设
    -----------------------

    ++ The backups on NODE 1 are done to '/<node1 path>/backup'  NODE 1上的备份完成到 '/<node1 path>/backup' 
    ++ The database files on NODE 1 are in '/<node1 path>/data'  NODE 1上的数据库文件位于'/<node1 path>/data'
    ++ The backups on NODE 2 will be in location '/<node2 path>/backup'  NODE 2上的备份将位于'/<node2 path>/backup'
    ++ The database files on NODE 2 will be restored to '/<node2 path>/data'  NODE 2上的数据库文件将还原到'/<node2 path>/data'

    Steps to acheive the goal:  实现目标的步骤

    1) Connect to the target database using rman and backup the database ---> ON NODE 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:  将以下文件移至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 

    RMAN> catalog backuppiece '/<node2 path/backup/o1_mf_annnn_TAG20070213T002925_2x21m6ty_.bkp';
    RMAN> catalog backuppiece '/<node2 path/backup/o1_mf_annnn_TAG20070213T002825_2x21kbds_.bkp';
    RMAN> 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   
    从ORACLE 10g版本可以使用对备份件进行catalog。在Oracle 10g之前,我们无法对备份文件进行catalog。有关catalog选项的更多信息,请参阅 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.

    使用以下命令了解archivelog备份中的最后一个可用sequence,这将有助于我们恢复数据库直到该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 

    重命名Redolog,以便在resetlogs打开数据库时可以在新位置创建它们

    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

    现在将数据文件restore到新位置并recover。由于我们在此处recover数据库,直到存档日志序列50为止,SET UNTIL SEQUENCE 子句中的序列号

    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. 
    如果我们要从磁带还原Rman备份,那么我们应该确保在还原过程中也保持与备份期间使用的介质管理器变量相同的方式。
    The below article gives the information of various media manager Environment Variables. 
    下面的文章提供了各种媒体管理器环境变量的信息
    NOTE.312737.1 RMAN and Specific Media Managers Environment Variables.

    11) Confirm your tempfiles 

    Confirm the location of your tempfiles, recreate them at the new location if required:

    确认tempfiles的位置,如果需要,请在新位置重新创建它们

    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

  • 相关阅读:
    Session、Cookie、Application、ViewState和Cache 这四者的区别
    用C#构造HighChart类库,把数据转换成JSON第二阶段完成50%API,已经能满足项目要求了
    HttpHandler 在SharePoint 2010中的应用
    SharePoint 2010 在多台前端环境 还原 网站集 问题解析
    SharePoint 2010 PowerShell 系列 之 文档管理 高级应用和企业案例(文档迁移)
    设计模式策略模式
    CentOS7 安装Hbase集群
    CentOS7 安装zookeeper
    CentOS7 安装Hadoop集群环境
    Django Rest Framework关闭CSRF验证
  • 原文地址:https://www.cnblogs.com/zylong-sys/p/11990436.html
Copyright © 2011-2022 走看看