Oracle RMAN active 克隆数据库

一.环境介绍

1. 主数据库环境

  • 生产库称为master
  • 操作系统版本 : redhat5 x64
  • 数据库版本 : Oracle 11.2.0.3 x64
  • 数据库名 : dg1
  • 数据库SID : dg1
  • db_unique_name: dg1
  • IP:192.168.58.5
  • hostname:oradg1

    2. 备库环境

  • 备用库称为secondary
  • 操作系统版本 : redhat5 x64
  • 数据库版本 : Oracle 11.2.0.3 x64
  • 数据库名 : dg1
  • 数据库SID : dg1
  • db_unique_name: dg1
  • IP:192.168.58.6
  • hostname:oradg2

3.前提条件

master: 1.安装oracle数据库软件,2.创建数据库,3.安装监听,4.开启归档模式
secondary:只安装oracle数据库软件,不用创建数据库也不安装监听
安装数据库参考考:静默安装oracle 11g r2
离线参考:
离线RMAN克隆
都是爷写的

二. 开始配置

1. 在secondary 创建pfile 参数文件:

dg1是实例名
[oracle@qs-dmm-rh2 dbs]$ vim /u01/app/oracle/product/11.2.0/db_1/dbs/initdg1.ora

db_name=dg1

只有一行.

2. 在secondary库上创建口令文件

注意修改成自己的密码

[oracle@qs-dmm-rh2 admin]$ orapwd file=?/dbs/orapwdg1 password=oracle

3. 在secondary库创建相关的目录结构:

路径一定要和生产库的一样,不然要做各种修改很麻烦。参考这个文件就知道目录了$ORACLE_HOME/dbs/initdg1.ora,dg1是实例名

[oracle@qs-dmm-rh2 trace]$ mkdir -p /u01/app/oracle/oradata/dg1

4. 在master 和secondary 都配置Listener.ora 、 tnsnames.ora

secondary因为没有创建数据库和安装监听,并没有这两个文件,故要新建。

1.分别在master,secondary配置lisener监听文件,secondary需要新建

下面master与secondary配置HOST不同,注意修改!
master:HOST = oradg1;secondary:HOST = oradg2
$ vim /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = oradg2)(PORT = 1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = dg1)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = dg1)
    )
  )
ADR_BASE_LISTENER = /u01/app
2. 分别在master,secondary配置tnsname.ora文件,secondary需要新建

说明:dg1是服务名,oradg1是master主机。(以下master,secondary内容完全一样)
$ vim /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

TARGETORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oradg2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dg1)
    )
  )
master =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oradg1)(PORT = 1521))
      )
      (CONNECT_DATA =
        (SERVICE_NAME = dg1)
      )
    )
secondary =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oradg2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = dg1)
    )
  )

5. 启动secondary 到nomout 状态:

[oracle@qs-dmm-rh2 admin]$

sqlplus /nolog
SQL> conn / as sysdba;
SQL> startup nomount pfile=?/dbs/initdg1.ora

三.开始克隆

说明:如果master和secondary库的目录结构相同,记得加上nofilenamecheck参数,不然会报如下错误:
如果目录不同,在pfile里加如下2个参数进行转换:具体怎么转换童鞋们查找资料.
db_file_name_convert
log_file_name_convert.

a.此时secondary要开启监听,不然会报没有监听的错误

su -oracle

lsnrctl start

b.连通两个库,开始克隆

[oracle@qs-dmm-rh2 dbs]$ rman target sys/oracle@master auxiliary sys/oracle@secondary

RMAN> duplicate target database to dg1 from active database nofilenamecheck;

Finished Duplicate Db at 06-SEP-15 看到这个代表克隆完成啦

四.测试

克隆完已经可以用PLSQL打开了。
因为已经自动nomount,mount,open了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值