Oracle学习之DATAGUARD(七) 使用Broker管理DG
一、修改Broker的配置属性
1.1 使用EDIT命令你可以修改三个级别的属性:configuration, database,instance
EDIT CONFIGURATION SET PROPERTY <name>=<value>
EDIT DATABASE <db_name> SET PROPERTY <name>=<value>
EDIT INSTANCE <in_name> SET PROPERTY <name>=<value>
如果在整个primary-standby系统中实例名不是唯一的,你可以在SET PROPERTY加上ON DATABASE <db_name>
1.2 修改CONFIGURATION级别的配置
1.2.1 获得配置属性
要修改配置,首先得知道CONFIGURATION级别到底包含哪些配置项,以及每个配置项的意义。
我们可以通过如下命令来查看CONFIGURATION的详细配置。
DGMGRL> show configuration verbose;Configuration - dr1Protection Mode: MaxPerformanceDatabases:11gdg1 - Primary database11gdg2 - Physical standby databaseProperties:FastStartFailoverThreshold = '30'OperationTimeout = '30'FastStartFailoverLagLimit = '30'CommunicationTimeout = '180'FastStartFailoverAutoReinstate = 'TRUE'FastStartFailoverPmyShutdown = 'TRUE'BystandersFollowRoleChange = 'ALL'Fast-Start Failover: DISABLEDConfiguration Status: SUCCESS
可以看出CONFIGURATION控制着数据库的保护模式、是否启用快速故障转移、以及还有7个属性。
FastStartFailoverThreshold:
Observer在指定时间内一直都连不通Primary数据库,就开始进行快速故障转移。
OperationTimeout:
Broker等待 health check, get monitorable property,set property操作完成的最大时间。
FastStartFailoverLagLimit:
如果standby数据库的日志应用延迟超过这个值,则不允许进行故障转移。也就是用来保护数据最多可丢失多少。
注:其他参数具体意义,请参考《Oracle Data Guard Broker 11g Release 2 (11.2)》
1.2.2 修改属性
DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverLagLimit = 20; Property "faststartfailoverlaglimit" updated
1.3 修改database级别属性
同样,先查看database级别到底有哪些属性
DGMGRL> show database verbose 11gdg1;Database - 11gdg1Role: PRIMARYIntended State: TRANSPORT-ONInstance(s):dgtstProperties:DGConnectIdentifier = '11gdg1'ObserverConnectIdentifier = ''LogXptMode = 'ASYNC'DelayMins = '0'Binding = 'optional'MaxFailure = '0'MaxConnections = '1'ReopenSecs = '300'NetTimeout = '30'RedoCompression = 'DISABLE'LogShipping = 'ON'PreferredApplyInstance = ''ApplyInstanceTimeout = '0'ApplyParallel = 'AUTO'StandbyFileManagement = 'AUTO'ArchiveLagTarget = '0'LogArchiveMaxProcesses = '4'LogArchiveMinSucceedDest = '1'DbFileNameConvert = ''LogFileNameConvert = ''FastStartFailoverTarget = ''InconsistentProperties = '(monitor)'InconsistentLogXptProps = '(monitor)'SendQEntries = '(monitor)'LogXptStatus = '(monitor)'RecvQEntries = '(monitor)'SidName = 'dgtst'StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=11gdg1.localdomain.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=11gdg1_DGMGRL)(INSTANCE_NAME=dgtst)(SERVER=DEDICATED)))'StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST'AlternateLocation = ''LogArchiveTrace = '0'LogArchiveFormat = '%t_%s_%r.dbf'TopWaitEvents = '(monitor)'Database Status: SUCCESS
下面看看如何修改数据库的日志传输模式
DGMGRL> EDIT DATABASE 11GDG1 SET PROPERTY LogXptMode='SYNC'; Property "logxptmode" updated
二、修改数据库状态
数据库级别除了有上面列出的那么多属性值,database还有一个state的概念。有如下TRANSPORT-ON、TRANSPORT-OFF、APPLY-ON、APPLY-OFF四种。分别表示传输日志开关、应用日志开关。
DGMGRL> EDIT DATABASE 11GDG1 SET STATE=TRANSPORT-OFF; Succeeded.
经过测试,发现TRANSPORT-OFF,并没有生效。Why?(不知道是因为什么原因导致这个设置有延迟,在后续的操作中发现,该参数是有效的)
如果将从库的日志应该改为APPLY-OFF,则从库不应用日志。此功能测试成功。
DGMGRL> EDIT DATABASE 11GDG2 SET STATE=APPLY-OFF; Succeeded.
三、修改数据库的保护模式
DGMGRL> SHOW CONFIGURATION;Configuration - dr1Protection Mode: MaxPerformanceDatabases:11gdg1 - Primary database11gdg2 - Physical standby databaseFast-Start Failover: DISABLEDConfiguration Status: SUCCESS
目前数据库的保护模式为最大性能。
下面我们尝试将保护模式修改为最大保护和最高可用。
DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MaxAvailability; Error: ORA-16627: operation disallowed since no standby databases would remain to support protection modeFailed.
我们知道,最大保护和最高可以的前提条件是日志传输模式为SYNC .所以我们要先修改日志传输模式
DGMGRL> EDIT DATABASE 11gdg1 SET PROPERTY LogXptMode='SYNC'; Property "logxptmode" updated
再次修改保护模式
DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MaxAvailability; Error: ORA-16627: operation disallowed since no standby databases would remain to support protection mode
为什么还是报错呢?我们来分析一下参数LogXptMode,这个参数其实是个反向参数。配置了11gdg1数据库的LogXptMode。表示别人向11gdg1用SYNC的方式传输日志。
我们的本意是配置主库以sync的方式向备库传输日志,那么应该改的是11gdg2的配置。
DGMGRL> EDIT DATABASE 11gdg2 SET PROPERTY LogXptMode='SYNC'; Property "logxptmode" updatedDGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MaxAvailability; Succeeded.
因为考虑到以后要进行故障转移,所以需要将所有的数据库的LogXptMode都设置为SYNC.
转载于:https://blog.51cto.com/lqding/1681735
Oracle学习之DATAGUARD(七) 使用Broker管理DG相关推荐
- Windows进程与线程学习笔记(七)—— 时间片管理
Windows进程与线程学习笔记(七)-- 时间片管理 要点回顾 基本概念 CPU时间片 分析 KeUpdateRunTime 分析 KiDispatchInterrupt 备用线程 总结 要点回顾 ...
- Oracle学习笔记(七)——分组统计查询
Oracle学习笔记(七)--分组统计查询 基础统计函数的使用 分组统计操作的实现,结合多表查询使用分组统计 常用统计函数 COUNT(*|[DISTINCT]字段) MAX(字段,日期或数字) MI ...
- Oracle学习之DATAGUARD(八) Switchover与failover
Switchover是将主从库角色切换,无损转换,通常是用户手动触发或者有计划的让其自动触发,比如硬件升级啦,软件升级啦之类的.而failover是当主库发生故障时,如何将从库切换成主库. 一.如何使 ...
- oracle 权限问题9017,[数据库]oracle学习笔记(一)用户管理_星空网
oracle学习笔记(一)用户管理 2014-04-13 0 1 --oracle学习第一天 2 --连接 @后面连接数据库实例,具体连接到那个数据库 3 conn scott/tiger@MYORA ...
- oracle auto failover,Oracle学习之DATAGUARD(九) 自动Failover
Oracle提供了一种快速自动故障转移架构(Fast-Start Failover).当主库发生故障时,FSFO会自动的将指定的从数据库转换成主数据库.此功能需要一个第三个的程序Observer来实现 ...
- oracle中临时表文件,Oracle学习(十二)之管理临时表空间的数据文件
管理数据文件,要求如下: 1)调整临时表空间的数据文件, 2)--文件数(临时)设置为1, 3)--文件状态(临时)为"正常", 4)--存储文件夹(临时)为"e:\or ...
- ORACLE学习笔记(七)——DBMS_LOB包的学习和使用
一.LOB写入测试: 建表:clob_test(id,position_clob,strain_clob); create or replace PROCEDURE CLOB_WRITE_TEXT A ...
- Oracle学习笔记(七)。事务处理语言(DTL)。事务的特性,原子性(ATOMICITY),一致性(CONSISTENCY),隔离性(ISOLATION),持久性(DURABILITY)
文章目录 1 什么是事务 2 事务特性 2.1原子性(ATOMICITY) 2.2 一致性(CONSISTENCY) 2.3 隔离性(ISOLATION) 2.4 持久性(DURABILITY) 3 ...
- Oracle 学习笔记,,,经验总结整理的。。。
cmd进入: 1. D:\oracle\ora92\bin> 2. sqlplus /nolog 3. conn sys/sys as sysdba sqlplus进入: username:sy ...
最新文章
- python学习19--生成器
- aspnet_Users中LastActiveDate的问题
- java sax解析xml_在Java中使用DOM,SAX和StAX解析器解析XML
- k8s管理java项目_Kubernetes集群部署项目-部署Java项目(推送镜像
- 使用单例模式建立一个数据库连接简单示例
- 基于QGraphics的简易画板1
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--K-密码
- Exception in thread main java.lang.NoClassDefFoundError解决了
- 焦距物距像距图解 示意图_自制小孔成像装置 鞋盒DIY简单小孔成像制作图解
- 深入理解Python中的yield和send
- idea导入tomcat源码
- 5.七个重点网络协议
- 2019111 控制台上实现极乐净土(有图有背景音乐)
- Ubuntu18.04设置阿里源
- Json-Handle插件下载安装使用
- elasticSearch创建索引库、映射、文档
- 如何制作六一儿童节答题测试H5页面?
- BZOJ 3162:独钓寒江雪
- C# 调用腾讯云的短信发送服务API
- poker游戏编码规则
热门文章
- 用上GAN的推荐算法成精了,看完视频马上刷出相关文章丨KDD 2021
- 百度Q2日进2.9个亿,新基建推动Apollo上位!李彦宏开招管培生:亲自选亲自带...
- GitHub免费支持CI/CD了,开发测试部署高度自动化,支持各种语言,网友:第三方凉凉...
- 什么是联机分析处理(OLAP)
- 저장소system.runtime.remoting.messaging.callcontext
- 使用ip6tables禁用ipv6
- Ruiy自我识人做事领悟录ing
- 【MongoDB数据库】怎样安装、配置MongoDB
- SQL2008-分页显示3种方法
- PHP array_key_exists() 函数(判断某个数组中是否存在指定的 key)