在Oracle 11G有二种方法实现duplicate:
1、Active database duplication
2、Backup-based duplication
Active database duplication 通过网络,直接复制目标库到辅助库,然后创建辅助库。这种方法不需要先用RMAN 备份数据库,然后将备份文件发送到auxiliary端。这种方式解决了备份空间占用、网络传送占用带宽和时间等问题,对于大库的迁移很有用。
 
目标:192.168.0.10
辅助:192.168.0.11
前提:目标库开启归档
一、创建辅助数据库目录结构
$ mkdir -p /u01/app/oracle/oradata/orcl
$ mkdir -p /u01/app/oracle/admin/orcl/{a,dp}dump
$ mkdir -p  /u01/app/oracle/fast_recovery_area/ORCL
 
二、在辅助数据库创建pfile
2.1 生成源库的pfile 文件:
SQL> create pfile from spfile;
2.2用scp 命令将pfile 文件传到辅助库
$ scp /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora oracle@192.168.0.11:/u01/app/oracle/product/11.2.0/db_1/dbs
在这里没有做修改,因为异机复制实例名相同,存储位置也相同
三、在辅助实例创建口令文件
对于Active Database Duplication要确保目标库和辅助库的SYSDBA 密码一样。我们采用复制口令文件的方式:
$ scp /u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl oracle@192.168.0.11:/u01/app/oracle/product/11.2.0/db_1/dbs/
 
在辅助库使用orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle创建口令文件,可能报如下错误:
ORA-17629: Cannot connect to the remote database server
ORA-17627: ORA-01017: invalid username/password; logon denied
ORA-17629: Cannot connect to the remote database server
四、添加,配置监听
4.1在辅助库的Listener.ora 文件中,添加如下内容
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcl)
    )
  )
 
LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))
  )
4.2修改源库的tnsnames.ora 文件,添加如下内容:
DUPLICATE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
 
$ lsnrctl stop
$ lsnrctl start
$ tnsping DUPLICATE
五、启动辅助库到nomount状态
$ export ORACLE_SID=orcl
$ sqlplus / as sysdba
SQL> startup nomount pfile=?/dbs/initorcl.ora
SQL> create spfile from pfile;
 
六、RMAN 连接到目标实例和辅助实例,运行duplicate 命令复制数据库(源)
$ export ORACLE_SID=orcl
$ rman target /  auxiliary sys/oracle@DUPLICATE
RMAN> duplicate target database to orcl from active database nofilenamecheck;
 
注意:如果target 和 Auxiliary库的目录结构相同,记得加上nofilenamecheck参数,不然会报错误,如果目录不同,在pfile里加2个参数进行转换:db_file_name_convert、log_file_name_convert。
 
七、修改辅助库的pfile,在创建spfile
SQL> conn / as sysdba;
SQL> create spfile from pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora';
 

最新文章

  1. salesforce 零基础学习(六十)Wizard样式创建数据
  2. Adaptive Decontamination of the Training Set: A Unified Formulation for Discriminative Visual Tracking
  3. 爱上MVC3~为下拉列表框添加一个自定义验证规则
  4. SQL in查询
  5. Htmlhelper—CheckBox自动生成两个input
  6. 使用CSS3(一)
  7. list append 总是复制前面的参数,而不复制最后一个参数
  8. 为何与0xff进行与运算
  9. [原创].NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇)
  10. Swift语言指南(九)--基本运算符
  11. asp.net webForm 前后台类关系
  12. win7下使用git
  13. windows MySQL 5.6.38 安装步骤
  14. 洛谷P1171 售货员的难题【状压DP】
  15. RHEL6非交互式工具sshpass和expect安装
  16. SQL遇到的问题
  17. 为了约会,PM的领导能力篇来啦!
  18. PyCharm2019 激活码
  19. WPF程序打包发布
  20. 2019 wannafly winter camp

热门文章

  1. DOM XSS详解
  2. Springboot 框架整理,建议做开发的都看看,整理的比较详细!
  3. Python Api接口自动化测试框架 代码写用例
  4. 对KVC和KVO的理解
  5. centos8 安装lnmp
  6. mysql 分组查询
  7. php 缩略图封装的方法
  8. sentinel快速入门
  9. TkMybatis 是什么?
  10. PHP作业记录