dg oracle 切换模式_Oracle数据库 DGbroker三种保护模式的切换

1.三种保护模式

– Maximum protection

在Maximum protection下, 可以保证从库和主库数据完全一样,做到zero data loss.事务同时在主从两边提交完成,才算事务完成。如果从库宕机或者网络出现问题,主从库不能通讯,主库也立即宕机。在这种方式下,具有最高的保护等级。但是这种模式对主库性能影响很大,要求高速的网络连接。

– Maximum availability

在Maximum availability模式下,如果和从库的连接正常,运行方式等同Maximum protection模式,事务也是主从库同时提交。如果从库和主库失去联系,则主库自动切换到Maximum performance模式下运行,保证主库具有最大的可用性。

– Maximum performance

在Maximum performance,主库把归档的 archived log通过arch进程传递给从库,在这种方式下,主库运行性能最高,但是不能保证数据不丢失,且丢失的数据受redo log的大小影响。在redo log过大的情况下,可能一天都没有归档一个日志,可以通过手工切换日志的方式来减小数据的丢失。

2.模式切换(Maximum performance切换至Maximum availability)

a.查看保护的模式

DGbroker查看:

DGMGRL> show configuration verbose;

Configuration - dgc

Protection Mode: MaxPerformance

Databases:

atest1 - Primary database

atest2 - Physical standby database

Properties:

FastStartFailoverThreshold = '30'

OperationTimeout = '30'

FastStartFailoverLagLimit = '30'

CommunicationTimeout = '180'

ObserverReconnect = '0'

FastStartFailoverAutoReinstate = 'TRUE'

FastStartFailoverPmyShutdown = 'TRUE'

BystandersFollowRoleChange = 'ALL'

ObserverOverride = 'FALSE'

ExternalDestination1 = ''

ExternalDestination2 = ''

PrimaryLostWriteAction = 'CONTINUE'

Fast-Start Failover: DISABLED

Configuration Status:

SUCCESS

sqlplus查看:

SQL> select database_role,protection_mode,protection_level from v$database;

DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL

---------------- -------------------- --------------------

PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

b.查看备库的日志传输模式(参数LogXptMode(sync:同步传输/async:异步传输))

DGMGRL> show database verbose 'atest2';

Database - atest2

Role: PHYSICAL STANDBY

Intended State: APPLY-ON

Transport Lag: 0 seconds (computed 1 second ago)

Apply Lag: 0 seconds (computed 1 second ago)

Apply Rate: 97.00 KByte/s

Real Time Query: ON

Instance(s):

atest

Properties:

DGConnectIdentifier = 'atest2'

ObserverConnectIdentifier = ''

LogXptMode = 'sync'

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)'

ApplyLagThreshold = '0'

TransportLagThreshold = '0'

TransportDisconnectedThreshold = '30'

SidName = 'atest'

StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vijay02.database.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=atest2_DGMGRL)(INSTANCE_NAME=atest)(SERVER=DEDICATED)))'

StandbyArchiveLocation = '/u01/app/oracle/oradata/ATEST/archivelog'

AlternateLocation = ''

LogArchiveTrace = '0'

LogArchiveFormat = '%t_%s_%r.dbf'

TopWaitEvents = '(monitor)'

Database Status:

SUCCESS

c.如果LogXptMode的值为async,就要将其修改为sync

DGMGRL> edit database atest1 set property logxptmode=sync;

Property "logxptmode" updated

d.修改完之后再次确认LogXptMode的值,如步骤b

e.切换模式(如果切换失败,则再次去确认备库LogXptMode的值)

DGMGRL> edit configuration set protection mode as maxavailability;

Succeeded.

f. 确认数据库的的保护模式,如步骤a

g.需要注意的是,步骤c中修改的sync是备库的值,切记!

3.个人小结:

a.三种模式在可以在DGbroker中自由切换(使用步骤2的方式)(在测试库中),正常情况下,数据库能迅速反应过来(查看保护模式的时候)。

b.使用Maximum performance的时候,参数(备库)LogXptMode设置为async就好/

c.使用Maximum protection或者Maximum availability的时候,参数(备库)LogXptMode要设置为sync。

d.(经测试)使用Maximum protection时,当备库出现异常(如网络问题,数据库宕机),主库会挂起(告警日志会报如下错误),当备库恢复正常之后,主库也会恢复。

LGWR: Error 1034 attaching to RFS for reconnect

e.使用Maximum protection时,在当备库出现异常的情况下,当主库挂起时,(主库)可以强制切换到 Maximum performance,但当重新切回Maximum protection(在备库恢复时),主库需重启。

DGMGRL> edit configuration set protection mode as maxprotection;

Operation requires shutdown of instance "atest" on database "atest1"

Shutting down instance "atest"...

Unable to connect to database

ORA-12545: Connect failed because target host or object does not exist

Failed.

Warning: You are no longer connected to ORACLE.

Please complete the following steps to finish the operation:

shut down instance "atest" of database "atest1"

start up instance "atest" of database "atest1"

以上内容是小编给大家分享的Oracle数据库 DGbroker三种保护模式的切换的相关内容,希望大家喜欢,同时也感谢大家一直以来对脚本之家网站的支持与厚爱。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件包管理

应用程序:程序:Architecture C语言:源代码-->(编译) 二进制格式脚本:解释器(二进制程序) 源代码-->编译-->链接-->运行程序:指令数据指令:芯片CP…

工业机器人码垛教学实施_工业机器人应用案例码垛详解

工业机器人应用案例码垛详解随着科技的进步以及现代化进程的加快,人们对搬运速度的要求越来越高,传统的人工码垛只能应用在物料轻便、尺寸和形状变化大、吞吐量小的场合,这已经远远不能满足工业的需求,机器人码垛机应运而生。机器…

第一家云创大数据产业学院在佛山职业技术学院挂牌

2019年1月10日,“云创大数据产业学院揭牌暨战略合作协议签署仪式”在佛山职业技术学院电子信息学院会议室举行。云创大数据总裁刘鹏教授、市场部经理单明月,佛山职业技术学院电子信息学院院长唐建生、副院长田钧、学院办公室主任赵雪章、信息工程系主任乔…

String与StringBuffer和StringBuilder的根本区别

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

16进制 ksh_AIX系统中如何统计进程打开的文件数目

作者:李烨楠 中国建设银行来自微信公众号:平台人生环境: AIX 6.1 AIX7.1前言:用户有时需要统计一个进程打开的文件数目,比如,在当前打开文件句柄使用量是否超过用户资源限制(/etc/security/limits)中 nofiles的取值时。那么&#…

前端Http协议缓存初解

[TOC] 简介 用户获取网络资源,需要通过非常长的网络去服务器上请求资源,另外服务端为了应对大量的用户请求而不断的提升硬件性能与带宽。这对用户与服务端都非常的不友好。而缓存就是为了解决用户请求速度与释放服务器压力而生的。 为什么我会写Http缓存&#xff0c…

详解java访问修饰符

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

educoder 二进制数据的位运算_二进制与位运算实用操作汇总(基础篇)

位运算是最高效而且占用内存最少的算法操作,但也是最难看懂的操作。然而,关于位运算的用法,笔者查了许多资料,似乎都没有找到详细而系统的讲解资料。笔者对位运算的操作相当感兴趣,因此斗胆尝试对位运算来一个的总结。…

企业为什么要做SEO,它的重要性有哪些?

对于SEO工作而言,我们知道一个网站做SEO的基础诉求就是让用户和搜索引擎更好的理解网站内容,虽然随着搜索引擎算法技术的迭代,目前SEO面临更大的挑战与竞争,但基于搜索营销,它目前仍然显得十分重要。 那么&#xff0…

白话说编程之java线程

白话说编程之java线程线程和进程:进程:线程:线程和进程的区别:详解多线程:并发为什么使用并发并发的执行原理并行线程的五种状态:创建状态:就绪状态:运行状态:阻塞状态:死…

powerdesigner显示工具面板_photoshop教程-画笔工具预设与选项设置

定义画笔预设在打开的“画笔”面板中,单击左侧的“画笔笔尖形状”名称,可显示笔尖形状图案。单击“画笔”面板左侧其他不同的选项名称,在右侧就会显示其对应的调节项。只单击不同选项前面的方框,可使此选项有效,但右侧…

C#属性的声明和使用演示源码片段

工作闲暇时间,将代码过程重要的一些代码做个收藏,如下代码是关于C#属性的声明和使用演示片段的代码,应该对码农有一些好处。 using System; class Person {private string myName "N/A";private int myAge 0;public string Name{g…

深入理解== 和 equals 的区别

深入理解 和 equals 的本质区别简介区别:图解:注意点:源码分析:总结分享一波:程序员赚外快-必看的巅峰干货简介 初学者常常被" “和‘equals ’所折磨,为什么,因为他们的大概意思相同,都是…

rsem比对_RSEM方法比对和表达量计算

分析模块,封装了Trinity程序包中的“align_and_estimate_abundance.pl”脚本,进行原始数据与转录本序列的比对和表达量计算。其中,核心程序为,Bowtie或Bowtie2进行原始数据与转录本序列的比对,RSEM根据比对结果进行表达…

java sleep和wait区别

为什么80%的码农都做不了架构师?>>> 关于sleep和wait区别解析: sleep只是释放CPU资源,并不释放资源锁对象,wait是会释放掉资源锁对象。 比如,有个锁对象object,线程1和线程2都会锁住object对象…

u8转完看不到菜单_web网页有错误,无法看到操作菜单-用友U8

文章摘要:本文提供在用友U8V8.51erp软件财务会计管理的WEB财务模块中客户在使用WEB功能时,没有使用默认的设置,是将WEB功能设置在自己的网站上面,访问WEB功能没有问题,界面出来了,输入用户名、密码、选择帐…

.Net Core 项目引用本地类库方式(二)

上篇文章有详细的介绍.Net Core 项目中引用本地类库通过打包,然后Nugety引用方式,这里再介绍一种引用包的方式 转载于:https://www.cnblogs.com/wangshitou/p/10283800.html

深入理解equals和hashCode关系和区别

深入理解equals和hashCode关系和区别直入主题:区别:1.他们判断对象相同的方式不一样:2.他们判断对象是否相等的准确率不一样:改写equals时总是要改写hashcode分享一波:程序员赚外快-必看的巅峰干货为什么要说equals和hashCode这两…

lol韩服游戏内设置_韩服LOL进去了还不能玩?教你如何玩韩服!

领取免费韩服LOL安全号,百度搜索韩服LOL微博关注即可!上图错误为常识性错误,LOL韩服游戏的安装文件路径有中文所导致的错误 解决方法:将安装路径里的中文改成英文即可 举例 包含中文汉字的文件夹都是错误的 Program FilesLOL韩服 …