Oracle 11g RMAN 异机duplicate数据库

2014-11-24 18:03:11 · 作者: · 浏览: 0


目标库信息:


ORACLE_BASE: /u01/app/oracle


ORACLE_HOME: /u01/app/oracle/product/11.2.0/db_1


ORACLE_SID:orcl


IP: 172.30.2.40



辅助库信息:


ORACLE_BASE: /u01/app/oracle


ORACLE_HOME: /u01/app/oracle/product/11.2.0/db_1


ORACLE_SID:orcl


IP: 172.30.2.56




在这里,我们以实例名相同的为例,实例名不同也一样,在pfile里修改对应参数就可以了。


步骤如下:


(1)构建辅助数据库目录结构


(2)创建pfile,并复制到辅助数据库,修改相关内容


(3)创建辅助实例口令文件


(4)RMAN 备份源库


(5)添加配置监听


(6)将源库备份文件拷贝到辅助库相同位置


(7)用pfile文件,将辅助数据库启动到nomount 状态


(8)执行RMAN duplicate命令复制数据库


(9)创建spfile文件



一.构建辅助数据库目录结构


1.1 Oracle data 目录


$ mkdir -p /u01/app/oracle/oradata/orcl


1.2 其他目录


$ mkdir -p /u01/app/oracle/admin/orcl/adump


$ mkdir -p /u01/app/oracle/admin/orcl/dpdump


$ mkdir -p /u01/app/oracle/admin/orcl/pfile


$ mkdir -p /u01/app/oracle/admin/orcl/scripts


$ mkdir -p /u01/app/oracle/diag


$ mkdir -p /u01/app/oracle/flash_recovery_area/orcl




二.创建pfile,复制到辅助数据库,并修改相关参数



2.1 在源库上创建pfile 文件


$ sqlplus /nolog



SQL*Plus: Release 11.2.0.1.0 Production on Mon Apr 11 08:26:48 2011



Copyright (c) 1982, 2009, Oracle. All rights reserved.



idle> conn /as sysdba


Connected.


sys@ORCL> create pfile='/u01/initorcl.ora' from spfile;



File created.


2.2 用scp 命令将pfile 文件传到辅助库要放在$ORACLE_HOME/dbs目录下,不然ORACLE 不识别。


$ scp initorcl.ora 172.30.2.56:/$ORACLE_HOME/dbs


Enter passphrase for key '/home/oracle/.ssh/id_rsa':


initorcl.ora 100% 921 0.9KB/s 00:00


2.3 在辅助库上确认文件是否传送过来


$ cd $ORACLE_HOME/dbs


$ ls


init.ora initorcl.ora orapworcl


2.4 在辅助库上修改pfile参数


orcl.__db_cache_size=3288334336


orcl.__java_pool_size=16777216


orcl.__large_pool_size=16777216


orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment


orcl.__pga_aggregate_target=2751463424


orcl.__sga_target=4127195136


orcl.__shared_io_pool_size=0


orcl.__shared_pool_size=754974720


orcl.__streams_pool_size=0


*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'


*.audit_trail='db'


*.compatible='11.2.0.0.0'


*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/flash_recovery_area/orcl/


control02.ctl'


*.db_block_size=8192


*.db_domain='saci.com.cn'


*.db_name='orcl'


*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'


*.db_recovery_file_dest_size=4039114752


*.diagnostic_dest='/u01/app/oracle'


*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'


*.memory_target=6867124224


*.open_cursors=300


*.processes=150


*.remote_login_passwordfile='EXCLUSIVE'


*.undo_tablespace='UNDOTBS1'


说明,在这里我没有做修改,因为我异机duplicate实例名相同,存储位置也相同。如果说你复制的不同的话,就需要修改相关的实例名。如果存储位置不同的话,还需要添加以下参数,对数据文件位置进行转换。


db_file_name_convert = ('/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/mahee')