环境:

主库A机:在线生产环境,RHEL 6.4 + Oracle 11.2.0.3

备库B机:新增备机,RHEL 6.4

需求:

对生产环境最小影响前提下配置DG备库。

目录:

一、B机安装相同版本Oracle软件

二、A机,B机配置网络连接

三、配置主库A机,需要重启A机数据库

四、duplicate主库到备机

五、日常运维

一、B机安装相同版本Oracle软件

只需要安装相同版本的Oracle软件,配置环境变量,不需要建库。
参考:《[Linux平台oracle 11g单实例 安装部署配置 快速参考](http://www.cnblogs.com/jyzhao/p/3891769.html)》 部分内容。

二、A机,B机配置网络连接

2.1 配置listener.ora

### 2.1.1 A机配置listener.ora ###
新增下面静态注册内容,然后`lsnrctl reload`重载监听,这样重载不会影响到现有业务:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = jingyu)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = jingyu)
)
(SID_DESC =
(GLOBAL_DBNAME = jingyu_dgmgrl)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = jingyu)
)
)

2.1.2 B机配置listener.ora

加入下面静态注册内容:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = jingyu_s)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = jingyu_s)
)
(SID_DESC =
(GLOBAL_DBNAME = jingyu_s_dgmgrl)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = jingyu_s)
)
)

2.2 配置tnsnames.ora

A机、B机都配置tnsnames.ora,添加以下内容:

jingyu =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.99.180)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = jingyu)
)
) jingyu_s =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.99.183)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = jingyu_s)
)
)

2.3 生成密码文件

A机生成密码文件:

orapwd file=$ORACLE_HOME/dbs/orapwjingyu password=oracle entries=10 ignorecase=Y

B机生成密码文件:

orapwd file=$ORACLE_HOME/dbs/orapwjingyu_s password=oracle entries=10 ignorecase=Y

测试在A机连接到B机正常联通:

首先确定已经关闭防火墙和SELinux。

sqlplus sys/oracle@jingyu_s as sysdba

三、配置主库A机,需要重启A机数据库

添加standby logfile, 如果原来有三组联机日志,那么添加4组standby日志。
A机确定以下目录存在且赋予正确权限:
归档日志文件存放目录:/u01/app/oracle/arch

--设置数据库为force logging
alter database force logging;
--设置db_unique_name, log_archive_config(这里主库的db_unique_name,出于对现有的生产环境最小影响考虑没有改)
alter system set db_unique_name='jingyu' scope=spfile;
alter system set log_archive_config='DG_CONFIG=(jingyu,jingyu_s)';
--归档日志目录
alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jingyu';
alter system set log_archive_dest_2='SERVICE=jingyu_s ASYNC LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jingyu_s';
--归档日志文件命名规则
alter system set log_archive_format='arch_%r_%t_%s.arc' scope=spfile;
--DG的fal_server和fal_client
alter system set fal_server=jingyu_s;
alter system set fal_client=jingyu;
--设置standby_file_management为自动
alter system set standby_file_management=AUTO;
--设置备库日志文件组,数量一般为目标库日志文件组+1
alter database add standby logfile group 11 size 52428800;
alter database add standby logfile group 12 size 52428800;
alter database add standby logfile group 13 size 52428800;
alter database add standby logfile group 14 size 52428800;

四、duplicate主库到备机

4.1 B机确定以下目录存在且赋予正确权限

归档日志文件存放目录:/u01/app/oracle/arch
审计文件目录:/u01/app/oracle/admin/jingyu_s/adump
数据文件目录:/usr2/oracle/oradata

4.2 B机数据库启动到nomount模式

参数文件initjingyu_s.ora

echo "db_name=jingyu_s" > /tmp/initjingyu_s.ora

启动到nomount状态

startup nomount pfile='/tmp/initjingyu_s.ora';

4.3 A机登录,复制数据库到B机

duplicate命令

rman target / auxiliary sys/oracle@jingyu_s cmdfile=duplicate_standby.sql

vi duplicate_standby.sql

duplicate target database
for standby
from active database
DORECOVER
spfile
set db_unique_name='jingyu_s'
set audit_file_dest='/u01/app/oracle/admin/jingyu_s/adump'
set db_create_file_dest='/usr2/oracle/oradata'
--set control_files='/usr2/oracle/oradata/jingyu_s/control01.ctl','/u01/app/oracle/fast_recovery_area/jingyu_s/control02.ctl'
set log_archive_dest_1='location=/u01/app/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jingyu_s'
set log_archive_dest_2='SERVICE=jingyu ASYNC LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jingyu'
set standby_file_management='AUTO'
set fal_server='jingyu'
set fal_client='jingyu_s'
set memory_target='0'
set sga_target='1024M';

五、日常运维

5.1 日常管理维护

参考:

5.2 备份策略

参考:

Oracle 11g DG配置简明版的更多相关文章

  1. Oracle 11g DG手工switchover切换标准化流程

    Oracle 11g DG手工switchover切换标准化流程 环境:RHEL 6.5 + Oracle GI 11.2.0.4 + Oracle DB 11.2.0.4 Primary RAC(2 ...

  2. Oracle 11g DRCP配置与使用

    Oracle 11g DRCP配置与使用Oracle 11g推出了驻留连接池(Database Resident Connection Pool)特性,提供了数据库层面上的连接池管理机制,为应对高并发 ...

  3. Oracle 11g监听器配置

    Oracle 11g监听器配置 安装好oracle后,出现oracle监听器不能正确使用的问题,先后遇到问题: 1.Oracle ORA-12541:TNS:no listener 2.ORA-285 ...

  4. RHEL6.4 + Oracle 11g DG测试环境快速搭建参考

    环境现状: 两台虚拟主机A和B: 1. A机器已安装ASM存储的Oracle 11g 实例      参考:http://www.cnblogs.com/jyzhao/p/4332410.html 2 ...

  5. Oracle 11g静默安装简明版

    环境:RHEL 6.5 + Oracle 11.2.0.4 1. 初步处理应答文件 2. 静默安装软件 3. 静默安装监听 4. 静默dbca建库 说明: 本文默认安装软件前的步骤已经设置完毕 如果没 ...

  6. oracle 11g dblink配置

    关于DBLINK的概念在本文中不再赘述,本文主要介绍DBLINK的创建. 1.创建环境描述 本文将在两台操作系统为红帽5.5版本.装有Oracle 11g的虚拟机中进行DBLINK的创建以及测试工作. ...

  7. Oracle 11g Dataguard 配置,维护与详解 (ADG)

    一.前言: 本手册主要记录如何配置,还介绍了配置原因,以及注意要点,已经主备切换,以及故障转移等重要操作步骤,我希望这个文章可以作为进行dataguard配置的一个参考手册. 二.前提 1.主库是归档 ...

  8. 【Docker】拉取Oracle 11g镜像配置

    以下是基于阿里云服务器Centos 7操作 1.拉取Oracle11g镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_1 ...

  9. Oracle 11g 安装环境配置脚本

    #!/bin/bash #Test in RHEL 5.5 for 11g c=`cat /etc/shadow | grep oracle | wc -l`if [ $c != 0 ]then  w ...

随机推荐

  1. In-Memory:内存数据库

    在逝去的2016后半年,由于项目需要支持数据的快速更新和多用户的高并发负载,我试水SQL Server 2016的In-Memory OLTP,创建内存数据库实现项目的负载需求,现在项目接近尾声,系统 ...

  2. Shell特殊变量

    $ 表示当前Shell进程的ID,即pid $echo $$ 运行结果 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数 ...

  3. Storm如何保证可靠的消息处理

    作者:Jack47 PS:如果喜欢我写的文章,欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文主要翻译自Storm官方文档Guaranteeing messag ...

  4. 启用 Open vSwitch - 每天5分钟玩转 OpenStack(127)

    Linux Bridge 和 Open vSwitch 是目前 OpenStack 中使用最广泛的两种虚机交换机技术. 前面各章节我们已经学习了如何用 Linux Bridge 作为 ML2 mech ...

  5. Lambda

    Lambda Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 lambda 表达式,可作为参数传递或作为函数调用值返回的本地函数. Lambda 表达式对于编写 LI ...

  6. 用神奇的currentColor制作简洁的颜色动画效果

    先上一个兼容性总结图:老版本ie可以直接用复杂方法了,套用某表情包的话:  2016年了,做前端你还考虑兼容IE6?你这简直是自暴自弃! 好了,知道了兼容性,我们可以放心的使用了. 在CSS3中扩展了 ...

  7. JAVA FreeMarker工具类

    FreeMarkerUtil.java package pers.kangxu.datautils.utils; import java.io.File; import java.io.StringW ...

  8. php 基础代码大全(不断完善中)

    下面是基础的PHP的代码,不断完善中~ //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */ 常量名 类常量建议全大写,单词间用下划线 ...

  9. NOT IN 和NOT EXISTS

    今天写了一个简单的NOT IN语句,结果跟预期大相径庭,百度之发现深坑一个,遂录之. 登陆账户表logins code name status a admin N b guest N c member ...

  10. 分享一个MySQL分库分表备份脚本(原)

    分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...