本文永久链接地址:https://www.askmac.cn/archives/oracle-data-guard-broker.html
12 oracle Data Guard Broker
12.1 目标
在完成这个课程后,你应该可以描述:
- Data Guard broker 构架
- Data Guard broker 组件
- Data Guard broker 的优点
- Data Guard broker的配置
- 如何使用EM来管理你的Data Guard 配置
- 如何调用DGMGRL(Data Guard 命令行接口)来管理你的Data Guard 配置
12.2 oracle Data Gurad Broker :特性
下列一些操作是broker简化和自动化的:
- 自动结合一个主库,一个新的或者存在的备库,redo传输服务和日志应用服务创建Data Guard 配置。
注意:任何配置中的数据库可以是RAC数据库
- 可以随时增加备库配置到Data Gruad配置中,其中包含一个主库和多个备库。
- 管理所有的Data Gurad 配置(包含 所有的数据库,redo 事务服务,和日志应用服务),通过一个客户端连接到配置中的任何数据库。
- 在一条命令中调用切换或者故障转移,启动控制配置中所有数据库多个角色的变化。
- 监控整个配置的状态,捕获诊断信息,报告统计信息(例如日志应用速率和redo生成速率),和集中监控,测试,和性能工具来快速检测问题
12.3 Data Guard Broker:组件
Oracle Data Guard broker 包含了客户端和服务端组件。
在客户端,你可以使用下列Data Gurad 组件来定义和管理配置:
- OEM
- DGMGRL,这个是Data Guard 命令行接口
在服务器上,Data Gurad监控是一个broke组件,已经被oracle 数据库集成。Data Guard 监控包括 Data Gurad 监控进程(DMON)和broker配置文件,你可以在运行的时候控制数据库的配置,修改它们的行为,监控整体的监控情况,并且提供其他特征操作的通知。
配置文件包含profiles,描述了在配置中的每个数据库的属性和当前的状态。每个数据库有很多相关的属性,DMON进程使用它们来控制数据库的行为。这些属性记录在配置文件中,作为数据库对象profile的一部分存储在那。许多数据库属性被用来控制与Data Gurad 环境有关的数据库初始化参数。
12.4 Data Gurad Broker :配置
常见的配置是一个主库和一个另外位置的备库
一个Data Gurad配置包含一个主库和多个备库。这些在一个Data Gurad配置中的数据库典型的按地理分布,使用Oracle 网络连接。
一个Data Gurad broker 配置是在一个Data Guard 配置中的主库和备库的逻辑组。broker的DMON进程配置和维护broker配置组件作为一个统一的资源组对象,你可以作为一个单独单元来管理和监控
管理模块:
Data Gurad broker 在以下逻辑对象执行操作:
- 数据库的配置
- 单一数据库
一个broker 的配置包括:
- 配置对象
数据库profile的命名集合。一个数据库profile用来描述数据库对象,包含当前状态和属性。
- 数据库对象
主库或备库的对应对象
- 实例对象
一个数据库对象可能包含一个或者多个实例对象,如果其实RAC数据库的话。
12.5 Data Guard Borker :架构
Data Gurad broker 帮助你创建,控制和监控Data Gurad配置。这个配置包含一个主库和其被保护的一个或多个备库。在broker 创建Data Guard配置之后,broker对配置中的所有系统监控其活动,监控和可用性。
DMON是一个oracle后台进程,被broker在每个管理的实例上运行。当你开启Data Gurad broker,一个DMON进程被创建。
当你使用EM或者Data Guard 命令接口时,DMON进程是服务端的组件于本地实例进行交互,并且DMON在其他端运行来执行功能请求。DMON进程也负责监控broker配置的健康,确保每个实例有一致性的配置文件。在每个实例上都有2个不同的复用版本的配置文件。
DMON 进程:
当你启动Data Gurad broker时,SGA中的一部分会被分配用来创建DMON进程。总共分配的内存大小一般会低于50KB,这个实际的值和你的操作系统有关。
12.6 使用Data Gurad Broker 的好处
- 可以通过自动配置和监控任务来提高ORACLE Data Gurad 的固有的高可用,数据库保护和灾难保护能力。
- 简化主库切换,备库接管主库的过程
- 让增加备库变得更加简单
- 提供简单的,集中的和可拓展的管理
- 使用Oracle网络服务在一个配置中自动的在数据库之间通信
- 提供内置的验证,监控所有配置数据库的健康。
使用和不使用Data Gurad Broker 的配置管理对比:
使用broker | 不使用broker | |
一般 | 作为一个数据库管理 | 数据库分开管理 |
创建备库 | 使用GC向导 | 手动创建文件 |
配置和管理 | 从一个接口配置和管理 | 为每个数据库手动的启动服务 |
监控 | •连续性监控•统一的状态和报告•EM事件的整合 | 通过单独的视图来监控每个数据库 |
控制 | 使用一个命令来调用角色转换 | 协调一系列命令来进行角色装换 |
12.7 Data Gurad Broker 接口
DGMGRL命令行接口包括:
- 配置和启动任务
- 配置的管理和控制
- 检查配置状态和健康的命令
- 执行角色变更的命令
OEMGC 包含下列Data Gurad 特性:
- 创建备库的向导驱动
- 基于现有的主库和备库上创建一个broker配置的向导驱动
- 通过邮件或页面完全监控和主动的事件报告
- 简单的控制数据库,通过它们潜在的状态。例如:使用EM,你可以开启和关闭redo传输服务,开启或管日志应用服务,和将一个备库置为只读模式。
- 一件切换和故障转移。GC可以让你简单是使用一个按钮完成主库和备库之间的切换或故障转移。
注:在定义一个Data Gurad broker配置后,你应该使用DGMGRL或者EMGC来管理你的配置。你不应该使用SQL命令来管理数据库,因为可能会引起与broker 的冲突。
12.8 使用 Data Guard Broker 命令行接口
DGMGRL 命令
下列命令在DGMGRL中可用。
注:许多命令需要额外的参数,在此处并未描述。可以参考官方文档获得更详细的信息
- ADD:增加一个备库到broker配置
- CONNECT:连接一个给定名称的实例
- CREATE:创建broker 配置
- DISABLE:禁用一个配置或者数据库,这样这个对象不再被broker管理
- EDIT:用来编辑数据库或者实例的配置
- ENABLE:启用一个数据库的配置
- EXIT/QUIT:退出DGMGRL
- FAILOVER:执行一个数据库故障转移操作,将一个备库变更角色到主库。(这是一个计划外的转变,可能会导致数据丢失)
- HELP:显示DGMGRL的在线帮助信息
- REINSTATE:将一个禁止的数据库变为可用的备库
- REMOVE:移除一个broker配置,包含其所有的数据库profiles,指定的备库profile或者实例的信息。
- SHOW:显示一个关于broker 配置,数据库,或者实例的简短或者详细的信息摘要;可以显示broker 配置的依赖树和默认在线状态,以及配置日志或者数据库告警日志。
- SHUTDOWN:关闭当前运行的Oracle 数据库实例
- START:开启快速故障转移的观察者
- STARTUP:使用一些选项来启动数据库实例,包括挂载和打开数据库
- STOP:关闭快速故障转移的观察者
- SWITCHOVER:执行一个切换操作,将当前的主库变成备库,和将当前的备库转换成主库。
12.9 总结
在这个课程中,你应该学会如何:
- 描述Data Gurad broker 管理模式
- 描述Data Gurad broker架构
- 描述Data Gurad broker组件
- 调用DGMGRL
Leave a Reply