一,环境信息
主库:rhel6.2 oracle 11.2.0.4duplicate库:orace linux 6.6 oracle 11.2.0.4
二,在duplicate端创建参数文件和密码文件
1.确认主库数据文件和日志文件的路径SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_system_bcc2dp1d_.dbf
/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_sysaux_bcc2dp2c_.dbf
/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_users_bcc2dp33_.dbf
/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_new_user_bcp23qgn_.dbf
/u01/app/oracle11g/oradata/DB11/datafile/undotbs2.dbf
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_3_bcc2hc3t_.log
/u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_2_bcc2hb1s_.log
/u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_1_bcc2h8rh_.log
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
compatible string 11.2.0.4.0</span>
2.在duplicate端创建目录
mkdir -p /u01/app/oradup/oradata/dupdb
mkdir -p /u01/app/oradup/admin/dupdb/adump
并授权
chown oradup:oinstall /u01/app/oradup/oradata/dupdb
3.参数文件内容如下:
db111@testdb11a /u01/app/oradup/product/11.2.0/dbs$ vi initdupdb.ora
*.compatible='11.2.0.4.0' ---这个参数两个数据库一定要一致
*.control_files='/u01/app/oradup/oradata/dupdb/control01.ctl'
*.db_block_size=8192*.db_name='dupdb'
#####下面的两个参数分别设定数据文件和日志文件切换后的路径
db_file_name_convert=('/u01/app/oracle11g/oradata/DB11/datafile/','/u01/app/oradup/oradata/dupdb')
log_file_name_convert=('/u01/app/oracle11g/oradata/DB11/datafile/','/u01/app/oradup/oradata/dupdb')
4.创建密码文件,密码一定要和主库的sys密码一致
db111@testdb11a /u01/app/oradup/product/11.2.0/dbs$ orapwd file=orapwdupdb password=oracle entries=3
三,启动duplicate数据库到nomount状态
db111@testdb11a /home/oracle$ export ORACLE_SID=dupdb
dupdb@testdb11a /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Fri May 22 05:16:22 2015
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 238034944 bytes
Fixed Size 2227136 bytes
Variable Size 180356160 bytes
Database Buffers 50331648 bytes
Redo Buffers 5120000 bytes
四,在duplicate端配置网络配置文件和tnsnames.ora
listener.ora文件如下:(说明:duplicate端必须使用静态注册,因为监听如果是动态注册在nomount状态为blocked状态,这种状态是不能连接数据库的)vi listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = dupdb)
(ORACLE_HOME =/u01/app/oracle/product/11.2.0)
(SID_NAME = dupdb)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.10)(PORT = 1521))
)
tnsnames.ora如下(注意:主库和duplicate库上都要修改):
db11 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.100)(PORT = 1526))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db11)
)
)
dupdb=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dupdb)
)
)
五,启动rman,连接到数据库
db111@testdb11a /home/oracle$ export ORACLE_SID=dupdb
dupdb@testdb11a /home/oracle$ rman target sys/oracle@db11 auxiliary sys/oracle@dupdb
Recovery Manager: Release 11.2.0.3.0 - Production on Fri May 22 05:41:34 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: DB11 (DBID=1400765095)
connected to auxiliary database: DUPDB (not mounted)
六,执行duplicate命令
RMAN> duplicate target database to 'dupdb' from active database nofilenamecheck;
附录:
详细过程:
RMAN> duplicat