点击上方"蓝字"

关注我们,享更多干货!

一、DataGuard Broker介绍

DataGuard Broker能更加容易的管理和维护多个Standby Database。如果有多个备库或者RAC数据库中有个多个实例,如果进行手工配置管理,就会太过于麻烦,Oracle提供了DataGuard Broker工具,可以在一台服务器上对所有数据库进行统一的配置和管理,这些配置会自动同步到各个数据库中。Failover和Switchover可以在DGMGRL工具中是用一条命令切换,大大简化了我们管理的过程。

简单介绍一下DataGuard Broker的工作原理:Oracle DataGuard Broker分为Client Side和Server Side。

  • Client Side可以通过EM和DGMGRL两种工具对服务端进行管理和维护。

  • Server side会有一个配置文件和一个后台进程叫Data Guard Broker monitor process(DMON)。

DMON:它是一个用来管理Broker的后台进程,这个进程负责本地数据库与standby数据库的DMON进程进行通讯,当主库上接收到一个请求的时候,它会协调其他数据库上的DMON进程处理相应的请求,比如switchover。同时会更新本地系统中的配置文件,并与standby数据库上的DMON进程进行通信,更新Standby上的配置文件,DMON进程如下图:

配置文件:配置参数控制数据库状态、监控健康状况并提供其他操作特性。

二、DG_broker搭建(RAC→RAC)

1.主、备库需把log_archive_dest_2置为空在搭建DGbroker。

alter system set log_archive_dest_2='' scope=both sid='*';

2.DB_BROKER_CONFIG_FILEn参数用于指定DataGuard配置文件的路径,DG_BROKER_START参数设置实例启动的时候是否自动启动Broker。特别注意一点:RAC中需要把Broker配置文件放入ASM中。

主库
ASMCA
mkdir +fradg/orcl/DATAGUARDCONFIG
mkdir +datadg/orcl/DATAGUARDCONFIG
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1='+datadg/orcl/DATAGUARDCONFIG/dgb_config1.ora' SCOPE=BOTH sid='*';
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2='+fradg/orcl/DATAGUARDCONFIG/dgb_config2.ora' SCOPE=BOTH sid='*';
alter system set dg_broker_start=false scope=both sid='*';
备库
ASMCA
mkdir +fradg/orcladg/DATAGUARDCONFIG
mkdir +datadg/orcladg/DATAGUARDCONFIG
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1='+datadg/orcladg/DATAGUARDCONFIG/dgb_config1.ora' SCOPE=BOTH sid='*';
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2='+fradg/orcladg/DATAGUARDCONFIG/dgb_config2.ora' SCOPE=BOTH sid='*';alter system set dg_broker_start=true scope=both sid='*';

设置完上面的参数后,我们还需要修改监听listener.ora文件.我们必须添加一个静态注册的service_name为db_unique_name_DGMGRL.db_domain,这个service_name会在DGMGRL重启数据库的时候用到.通过DGMGRL重启数据库时DMON进程会先将数据库关闭,然后DGMGRL在通过静态监听中的service_name连接到数据库,发送启动的命令。

3.主库添加静态监听

  • 一节点

SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=orcl_DGMGRL)(SID_NAME=orcl1)(ORACLE_HOME=/app/oracle/oracle/product/12.1.0/db_1)))
  • 二节点

SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=orcl_DGMGRL)(SID_NAME=orcl2)(ORACLE_HOME=/app/oracle/oracle/product/12.1.0/db_1))

4.备库添加静态监听

  • 一节点

SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=orcladg_DGMGRL)(SID_NAME=orcladg1)(ORACLE_HOME=/app/oracle/oracle/product/12.1.0/db_1)))
  • 二节点

SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=orcladg_DGMGRL)(SID_NAME=orcladg2)(ORACLE_HOME=/app/oracle/oracle/product/12.1.0/db_1)))

5.添加完成后依次reload监听

lsnrctl reload

reload完成后依次监听状态,查看对应服务是否注册在监听中

6.四节点Oracle用户添加tnsnames.ora

orcldb_DGMGRL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 对应的vip)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 对应的vip)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcldb_DGMGRL)))orcldbadg_DGMGRL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 对应的vip)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 对应的vip)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcldbadg_DGMGRL)))

7.主库一节点配置Broker

dgmgrl sys/xxx
CREATE CONFIGURATION 'orcl_broker'(broker的名字随意起) AS PRIMARY DATABASE IS 'orcl'(主库的db_unique_name) CONNECT IDENTIFIER IS 'orcl_DGMGRL'(连接主库的service_name);add database 'orcladg'(备库的db_unique_name) as connect identifier is 'orcladg_DGMGRL'(连接备库的service_name) maintained as physical;enable configuration;开启brokershow configuration;检查broker配置   switchover to xxx;主备切换

参数说明:orcl_broker是配置的名称,这里可以随便填PRIMARY DATABASE IS ‘orcl’ ,这里的orcl是指Database的db_unique_name,而connect identifier is ‘orcl_DGMGRL’这里的orcl_DGMGRL是指tnsname.ora连接到主库的net service name。

add database ‘orcladg’ ,这里的orcladg2是指database的db_unique_name,而AS CONNECT IDENTIFIER IS orcladg_DGMGRL 这里的orcladg_DGMGRL是指tnsname.ora连接到standby database的net service name。

8.常用命令:

show configuration;
show database orcl;
show database orcladg;
show database verbose orcl;
show database verbose orcladg;
show instance verbose orcl1 on database orcl;
show instance verbose orcl2 on database orcl;
show instance verbose orcladg1 on database orcladg;
show instance verbose orcladg2 on database orcladg;

墨天轮原文链接:https://www.modb.pro/db/113953?sjhy(复制到浏览器或者点击“阅读原文”立即查看)

关于作者

张鹏远,云和恩墨西区技术顾问,Oracle 11g OCP。拥有OBCA、OGCA证书;热衷于技术钻研,对于Oracle、Mysql、Postgres有所了解。致力于将积累的技术与行业实践进行分享!健身狂热分子;吃喝达人。

END

由中国DBA联盟和墨天轮主办的 2021数据技术嘉年华 将于11月19日-20日在北京丽都皇冠假日酒店盛大召开。

大会门票限时0元领取

    扫描下方的二维码即可!

一步一步配置DataGuard Broker相关推荐

  1. 一步一步学DataGuard之基础篇

    它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)......................Oracle D ...

  2. 【DG】[三思笔记]一步一步学DataGuard

    [DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)..... ...

  3. 一步一步指引你在Windows7上配置编译使用Caffe(https://github.com/fengbingchun/Caffe_Test)

    之前写过几篇关于Caffe源码在Windows764位上配置编译及使用过程,只是没有把整个工程放到网上,最近把整个工程整理清理了下,把它放到了GitHub上.下面对这个工程的使用作几点说明: 1.   ...

  4. Oracle 11g Dataguard 物理备库配置(三)之Dataguard broker配置

    Oracle 11g Dataguard 物理备库配置系列文档 Oracle 11g Dataguard 物理备库配置(一)之duplicate创建 Oracle 11g Dataguard 物理备库 ...

  5. 教你一步一步在vim中配置史上最难安装的You Complete Me

    最近在Linux下用vim写Python,vim被称作编辑器之神,写起代码来也是6的飞起,不用鼠标纯键盘操作看起来就有种高大上的感觉,但是美中不足的是,vim并没有自动补全,这对于用惯了IDE的朋友们 ...

  6. 一步一步开发sniffer(Winpcap+MFC)(一)工欲善其事,必先配环境——配置winpcap开发环境

    0.说在前面的话 1) 本文将以一个初学者的角度,一步一步几乎是从0开始讲述如何完成一个基于winpcap+MFC的sniffer(嗅探器)当然我指的"0"并不是指连编程都不会,如 ...

  7. 一步一步搭建11gR2 rac+dg之DG 机器配置(七)【转】

    DG 机器配置 转自: 一步一步搭建11gR2 rac+dg之DG 机器配置(七)-lhrbest-ITPUB博客 http://blog.itpub.net/26736162/viewspace-1 ...

  8. xilinx IP核配置,一步一步验证Xilinx Serdes GTX最高8.0Gbps

    之前用serdes一直都是跑的比较低速的应用,3.125Gbps,按照官方文档一步一步来都没出过什么问题,这次想验证一下K7系列GTX最高线速8Gbps,看看xilinx的FPGA是不是如官方文档所说 ...

  9. Linux手动部署nlb步骤,一步一步配置NLB(续)之深入测试

    首先,准备一些工具: 1. Fiddler2,用来查看请求的分配情况,当然这个工具还有其他强大的功能,今天,我们只用很小的功能; 其次呢,我们了解一下NLB里面端口规则的设置: a.右键群集--> ...

最新文章

  1. .net core 获取客户端ip
  2. 新一代开源Android渠道包生成工具Walle
  3. React文档(七)处理事件
  4. labview求n阶乘的和_递归算法(从阶乘、斐波那契到汉诺塔的递归图解)
  5. java 过滤xss脚本_Java Web应用程序的反跨站点脚本(XSS)过滤器
  6. PHP求体重成绩函数,PHP数组
  7. 1380C. Create The Teams
  8. Array(数组-转树)
  9. 每天5分钟玩转kubernetes_DNS 访问 Service 每天5分钟玩转 Docker 容器技术(138)
  10. php 分支排序,php – 基于类别和分支的Mysql排名
  11. JSP中调用java类中的方法
  12. ostringstream使用
  13. ViT (Vision Transformer) ---- SimpleRNN + Attention
  14. emule学习与分析一 概述
  15. 【Silverlight】Bing Maps学习系列(一):开发前的准备工作
  16. 便于理解假设检验的好例子
  17. SVN Server使用说明
  18. 阿里云、腾讯云服务器对比,那个更好?
  19. linux V4L2子系统——v4l2的结构体(3)之v4l2_subdev
  20. 仿淘宝购物车demo---增加和减少商品数量

热门文章

  1. Redis 多机多节点集群搭建方案(5.0版本)
  2. devops_将DevOps带到教室
  3. 样本期望的期望 总体期望_您所在领域的人才期望开放
  4. 开源 程序员清单_2015开源夏季阅读清单
  5. devops 开源_没有开源,就不会有DevOps
  6. google开源数学引擎_Google的开源PDF引擎,开放无线运动等
  7. flv 开源 修复_解决开源项目错误和修复的5个步骤
  8. 钱 | 钱,钱,钱,钱,钱,钱,钱!钱啊钱!(配音乐)
  9. HTML5 绘制动画
  10. es6 Class 的实例对象