ITPub博客

首页 > 数据库 > Oracle > 通过rman duplicate来恢复至同机器上的不同sid

通过rman duplicate来恢复至同机器上的不同sid

原创 Oracle 作者:peng163fj 时间:2015-04-13 15:42:28 0 删除 编辑

环境:centos 5.9

SID1 : omrep

SID2 : test

目的是将SID1的数据完整复制到SID2上,选择的方法是rman duplicate

参考文档:《RMAN Recipes for Oracle Database 11g.pdf》

依据其15-3章的duplicating withoutbackup改编

一.配置listener.ora及tnsname.ora(这一步最为重要,特别是UR=A,因为无法识别动态注册,只能识别静态注册。所以没有的话会报错blocked)

二.在SID1上创建密码文件

orapwd password=你的密码 file=orapwtest1entries=20

三.将SID2进入到nomount状态

export ORACLE_SID=test1

sqlplus /nolog---注意提示为connect to an idleinstance

conn /as sysdba

startup nomount

 

四.登陆到rman,准备恢复

export ORACLE_SID=test1

rlwrap rman target system/centos@omrep

conncect auxiliary /

五.恢复语句

select file#,ts#,name from v$datafile;

select file#,ts#,name from v$tempfile;

SET NEWNAME FOR DATAFILE 1  TO '/u01/oradata/test1/system01.dbf';

SET NEWNAME FOR TEMPFILE 1  TO '/u01/oradata/omrep/TEMP012.DBF';

先把datafile和tempfile的重定位做好

六.备份完成后重新连接。检查恢复情况

 

listener.ora

 

# listener.ora Network Configuration File:/u01/oracle/db_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

 

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = /u01/oracle/db_1)

(SID_NAME =orcl)

)

(SID_DESC =

(GLOBAL_DBNAME = test1)

(ORACLE_HOME = /u01/oracle/db_1)

(SID_NAME =test1)

)

)

 

SID_LIST_LISTENER =

 (SID_LIST =

   (SID_DESC =

     (SID_NAME = PLSExtProc)

     (ORACLE_HOME = /u01/oracle/db_1)

     (PROGRAM = extproc)

    )

  )

 

LISTENER =

 (DESCRIPTION_LIST =

   (DESCRIPTION =

     (ADDRESS = (PROTOCOL = TCP)(HOST = centos.localdomain)(PORT = 1521))

     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

    )

  )

 

 

 

tnsnames.ora

 

# tnsnames.ora Network Configuration File:/u01/oracle/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

 

OMREP =

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = centos.localdomain)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = omrep.localdomain)

      (UR=A)

   )

  )

 

TEST1 =

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = centos.localdomain)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = test1)

      (UR=A)

   )

  )

 

 

 

rman txt

--duplicate语句

 

RUN

{

SET NEWNAME FOR DATAFILE 1  TO '/u01/oradata/test1/system01.dbf';

SET NEWNAME FOR DATAFILE 2  TO '/u01/oradata/test1/undotbs01.dbf';

SET NEWNAME FOR DATAFILE 3  TO '/u01/oradata/test1/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 4  TO '/u01/oradata/test1/users01.dbf';

SET NEWNAME FOR DATAFILE 5  TO '/u01/backup_dir/testing1_lmt.dbf';

SET NEWNAME FOR DATAFILE 6  TO'/u01/oracle/db_1/dbs/d:oradatanewdbusers021.dbf';

SET NEWNAME FOR DATAFILE 7  TO '/u01/oradata/test1/tbs_lib_01.dbf';

SET NEWNAME FOR DATAFILE 8  TO '/u01/oradata/test1/undotbs2.dbf';

SET NEWNAME FOR TEMPFILE 1  TO '/u01/oradata/omrep/TEMP012.DBF';

SET NEWNAME FOR TEMPFILE 2  TO '/u01/oradata/omrep/temp_lib2.dbf';

DUPLICATE TARGET DATABASE TO test1

LOGFILE

GROUP 1 ('/u01/oradata/omrep/redo011.log',

'/u01/oradata/omrep/redo012.log','/u01/oradata/omrep/redo013.log')SIZE 200K REUSE,

GROUP 2 ('/u01/oradata/omrep/redo021.log',

'/u01/oradata/omrep/redo022.log','/u01/oradata/omrep/redo023.log')SIZE 200K REUSE;

}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21302630/viewspace-1571813/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: linux 权限 chown
请登录后发表评论 登录
全部评论

注册时间:2013-11-20

  • 博文量
    155
  • 访问量
    440174