11g的RMAN duplicate 个人感觉比10g的先进了很多,10G需要在rman备份的基础上进行复制,使用 RMAN duplicate 创建一个数据完全相同但DBID不同的数据库。而11g的RMAN duplicate 可以通过Active database duplicate和Backup-based duplicate两种方法实现。这里的测试使用的是Active database duplicate,因为Active database duplicate 功能强大,不需要先把目标数据库进行rman备份,只要目标数据库处于归档模式下即可直接通过网络对数据库进行copy,且copy完成后自动open数据库。这对于大数据特别是T级别的数据库来说优点非常明显,复制前不需要进行备份,减少了备份和传送备份的时间,同时节省备份空间。下面来进行具体的duplicate操作。
源库:192.168.1.10 版本:11.2.0.4.0
备库:192.168.1.11 版本:11.2.0.4.0
第1步:创建参数文件(备库操作)
[oracle@Opt13 dbs]$ cat initstoopt.ora
*.audit_trail='db'
*.audit_file_dest='/u01/app/oracle/admin/stoopt/adump'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/stoopt/control01.ctl','/u01/app/oracle/fast_recovery_area/stoopt/control02.ctl'
*.db_block_size=8192
*.db_name='stoopt'
db_file_name_convert=('/oradata/oracle/stoopt/','/oradata/oracle/standbyopt/')
log_file_name_convert=('/u01/app/oracle/oradata/stoopt/','/oradata/oracle/standbyopt/')
[oracle@Opt13 dbs]$ cd /u01/app/oracle/product/11.2.0.4/network/admin/
第2步:创建跟源库一样的目录,如果目录不一样,需能相关参数指定(备库操作)---略
第3步:在备库中用用参数启动到nomout状态下
SQL> startup nomount pfile='/u01/app/oracle/product/11.2.0.4/dbs/initstoopt.ora';