一、修改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相关推荐

  1. Windows进程与线程学习笔记(七)—— 时间片管理

    Windows进程与线程学习笔记(七)-- 时间片管理 要点回顾 基本概念 CPU时间片 分析 KeUpdateRunTime 分析 KiDispatchInterrupt 备用线程 总结 要点回顾 ...

  2. Oracle学习笔记(七)——分组统计查询

    Oracle学习笔记(七)--分组统计查询 基础统计函数的使用 分组统计操作的实现,结合多表查询使用分组统计 常用统计函数 COUNT(*|[DISTINCT]字段) MAX(字段,日期或数字) MI ...

  3. Oracle学习之DATAGUARD(八) Switchover与failover

    Switchover是将主从库角色切换,无损转换,通常是用户手动触发或者有计划的让其自动触发,比如硬件升级啦,软件升级啦之类的.而failover是当主库发生故障时,如何将从库切换成主库. 一.如何使 ...

  4. oracle 权限问题9017,[数据库]oracle学习笔记(一)用户管理_星空网

    oracle学习笔记(一)用户管理 2014-04-13 0 1 --oracle学习第一天 2 --连接 @后面连接数据库实例,具体连接到那个数据库 3 conn scott/tiger@MYORA ...

  5. oracle auto failover,Oracle学习之DATAGUARD(九) 自动Failover

    Oracle提供了一种快速自动故障转移架构(Fast-Start Failover).当主库发生故障时,FSFO会自动的将指定的从数据库转换成主数据库.此功能需要一个第三个的程序Observer来实现 ...

  6. oracle中临时表文件,Oracle学习(十二)之管理临时表空间的数据文件

    管理数据文件,要求如下: 1)调整临时表空间的数据文件, 2)--文件数(临时)设置为1, 3)--文件状态(临时)为"正常", 4)--存储文件夹(临时)为"e:\or ...

  7. ORACLE学习笔记(七)——DBMS_LOB包的学习和使用

    一.LOB写入测试: 建表:clob_test(id,position_clob,strain_clob); create or replace PROCEDURE CLOB_WRITE_TEXT A ...

  8. Oracle学习笔记(七)。事务处理语言(DTL)。事务的特性,原子性(ATOMICITY),一致性(CONSISTENCY),隔离性(ISOLATION),持久性(DURABILITY)

    文章目录 1 什么是事务 2 事务特性 2.1原子性(ATOMICITY) 2.2 一致性(CONSISTENCY) 2.3 隔离性(ISOLATION) 2.4 持久性(DURABILITY) 3 ...

  9. Oracle 学习笔记,,,经验总结整理的。。。

    cmd进入: 1. D:\oracle\ora92\bin> 2. sqlplus /nolog 3. conn sys/sys as sysdba sqlplus进入: username:sy ...

最新文章

  1. python学习19--生成器
  2. aspnet_Users中LastActiveDate的问题
  3. java sax解析xml_在Java中使用DOM,SAX和StAX解析器解析XML
  4. k8s管理java项目_Kubernetes集群部署项目-部署Java项目(推送镜像
  5. 使用单例模式建立一个数据库连接简单示例
  6. 基于QGraphics的简易画板1
  7. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--K-密码
  8. Exception in thread main java.lang.NoClassDefFoundError解决了
  9. 焦距物距像距图解 示意图_自制小孔成像装置 鞋盒DIY简单小孔成像制作图解
  10. 深入理解Python中的yield和send
  11. idea导入tomcat源码
  12. 5.七个重点网络协议
  13. 2019111 控制台上实现极乐净土(有图有背景音乐)
  14. Ubuntu18.04设置阿里源
  15. Json-Handle插件下载安装使用
  16. elasticSearch创建索引库、映射、文档
  17. 如何制作六一儿童节答题测试H5页面?
  18. BZOJ 3162:独钓寒江雪
  19. C# 调用腾讯云的短信发送服务API
  20. poker游戏编码规则

热门文章

  1. 用上GAN的推荐算法成精了,看完视频马上刷出相关文章丨KDD 2021
  2. 百度Q2日进2.9个亿,新基建推动Apollo上位!李彦宏开招管培生:亲自选亲自带...
  3. GitHub免费支持CI/CD了,开发测试部署高度自动化,支持各种语言,网友:第三方凉凉...
  4. 什么是联机分析处理(OLAP)
  5. 저장소system.runtime.remoting.messaging.callcontext
  6. 使用ip6tables禁用ipv6
  7. Ruiy自我识人做事领悟录ing
  8. 【MongoDB数据库】怎样安装、配置MongoDB
  9. SQL2008-分页显示3种方法
  10. PHP array_key_exists() 函数(判断某个数组中是否存在指定的 key)