Oracle RMAN active 克隆数据库
2015-09-06 20:14
676 查看
一.环境介绍
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了
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ORACLE LATERAL-SQL-INJECTION 个人见解