RMAN duplicate from active database 复制数据库

RMAN基于备份的duplicate非常麻烦
首先,源库需要一个完整的备份,包括数据文件,控制文件,spfile和归档日志。
其次,需要将备份传输到目的数据库一模一样的位置上

Oracle11g推出了duplicate from active database
他可以在没有备份的情况下,直接复制数据库,简化了很多操作。

基于备份的duplicate有如下的步骤
1.配置两台服务器的监听器和tnsnames
2.源库创建密码文件,传输至目的数据库
3.源库创建pfile,传输至目的数据库
4.将源库的备份传输至目的数据库,要求备份的位置和源库的位置一模一样.(因为备份的位置记录在了控制文件)
5.在目的数据库创建相应的目录
6.在目的数据库启动辅助实例
7.在源库使用rman开始复制

其中基于备份的duplicate,一定要注意,备份需要包括归档日志

而duplicate from active database则简单很多
1.配置两台服务器的监听器和tnsnames
2.源库创建密码文件,传输至目的数据库
3.在目的数据库创建相应的目录
4.在目的数据库创建一个pfile,启动辅助实例.(pfile仅有一个参数就是db_name)
5.在源库使用rman开始复制

实验环境如下
数据库版本:11.2.0.3
源库:192.168.1.1
源库sid:orcl
目的库:192.168.1.2 仅安装数据库软件,没有安装任何实例

实验目的
将192.168.1.1的数据库复制到192.168.1.2

1.配置两台服务器的监听器和tnsnames
两台服务器的tnsnames.ora都是一样的配置
SOURCE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
TARGET =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

源库的监听器配置(目的数据库修改监听的IP地址)
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = orcl)
    )
  )

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
  )

ADR_BASE_LISTENER = /home/oracle/app/oracle

2.源库创建密码文件,传输至目的数据库
在源库的$ORACLE_HOME/dbs目录下创建密钥文件
密钥文件的命名必须是 orapw+sid

[oracle@master dbs]$ pwd
/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs
[oracle@master dbs]$ orapwd file=orapworcl password=123456

一定要注意,在源库生成密钥文件,再通过scp传输到目的数据库
不能以相同的密码在目的数据库创建密钥文件,否则在duplicate的时候报错.

3. 在目的数据库创建相应的目录
查询源库的参数文件,将里面涉及的目录,在目的数据库创建.
[oracle@slaveOne ~]$ mkdir -p /home/oracle/app/oracle/admin/orcl/adump
[oracle@slaveOne ~]$ mkdir -p /home/oracle/app/oracle/oradata/orcl/
[oracle@slaveOne ~]$ mkdir -p /home/oracle/app/oracle/fast_recovery_area/orcl/


4.在目的数据库创建一个pfile,启动辅助实例.(pfile仅有一个参数就是db_name)

5. 在源库使用rman开始复制
[oracle@master ~]$ rman target / auxiliary sys/123456@target
Recovery Manager: Release 11.2.0.3.0 - Production on Tue Oct 28 19:18:17 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORCL (DBID=1388624007)
connected to auxiliary database: ORCL (not mounted)

RMAN> duplicate target database to orcl from active database nofilenamecheck PASSWORD FILE SPFILE;

辅助实例的密码就是密钥文件中设置的密码,
如果源库和目标库的文件位置一样,则需要 nofilenamecheck 忽略文件检查
如果源库和目标库的文件位置不一样,则需要用db_file_name_convert参数指定目录.

参考:
http://blog.csdn.net/tianlesoftware/article/details/6230498


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29254281/viewspace-1312231/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29254281/viewspace-1312231/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值