【无标题】

DM数据库通过MAL系统实现数据守护,涉及OGUID配置确保实例间通信同步。OGUID是数据守护唯一标识,需在所有组件中统一设置。守护进程组由相同OGUID的守护进程构成,组分裂可能导致数据不一致。脑裂是指同一守护进程组内存在多个活动主库,可能导致数据一致性问题。预防脑裂需限制手动模式切换,确保网络稳定,正确配置监控器并避免误操作。建议避免在配置中使用特定实例名以防止歧义。
摘要由CSDN通过智能技术生成

DM数据库配置文件(二)

MAL系统是基于TCP协议实现的一种内部通信机制,具有可靠、灵活、高效的特性。DM通过MAL系统实现redo日志传输,以及其他一些实例间的消息通讯。
OGUID
数据守护唯一标识码,配置数据守护时,需要由用户指定OGUID值。其中数据库的OGUID在MOUNT状态下有系统函数SP_SET_OGUID设置,守护进程和监视器的OGUID值在配置文件中设定。
通以守护进程组中的所有数据库、守护进程和监视器,都必须配置相同的OGUID值,范围0-2147483647
查看OGUID。
select oguid from v$instance;
守护进程组
配置了相同OGUID的两个或多个守护进程,构成一个守护进程组。为方便管理,对每个守护进程组进行命名,守护进程组中的所有守护进程的监视器,必须配置相同的组名。
组分裂
同一守护进程组中,不同数据库实例的数据出现不一致,并且无法通过重演redo日志重新同步数据的情况,我们称为组分裂,原因:
1、即时归档中,主库将redo日志写入本地联机redo日志文件之后,发送redo日志到备库之前出现故障,导致主备库数据不一致,为了继续提供服务,执行备库强制接管。此时,当故障主库重启后,就会引发组分裂。
2、故障备库重新完成数据同步之前,主库硬件故障,并且长时间无法恢复;在用户接受丢失部分数据情况下,为了尽快恢复数据库服务,执行备库强制接管,将备库切换为主库。此时,如果故障主库重启,也会造成组分裂。
检测到组分裂后,守护进程会修改控制文件为分裂状态,被分裂出去的数据库需要通过备份还原等技术手段重新恢复。
脑裂
脑裂是同一个守护进程中同时出现两个或多个活动主库,并且这些主库都接收用户请求,提供完成数据库服务。一旦发生脑裂,将无法保证数据一致性,对数据安全造成严重的后果。
DM数据守护系统为预防脑裂做了大量工作,例如故障自动切换模式的数据守护必须配置确认监视器。确认监视器启动故障切换之前,会进行严格的条件检查,避免脑裂发生。守护进程一旦检测到脑裂发生,会马上强制退出主库,等待用户干预,避免数据差异进一步扩大。
造成脑裂的主要原因两:网络不稳定或错误的人工干预,建议:
1、设置dm.ini参数ALTER_MODE_STATUS=0,限制用户进行直接通过SQL修改数据库模式,状态以及OUGID。
2、提供稳定可靠的网络环境。
3、配置自动切换数据守护时,将确认监视器部署在独立的第三方机器上,不要与某一个数据库实例部署在一起,避免由于网络问题触发自动故障切换,导致脑裂发生。
4、通过人工干预,将备库切换为主库前,一定要确认主库已经发生故障,避免主库活动情况下,备库强制接管,人为造成脑裂。
!!!!!!!!配置数据守护时,数据库实例名不建议配置为 Primary/Standby,守护进 程组名不建议配置成和实例名相同,避免在描述对象时产生歧义。

                                                  达梦社区  https://eco.dameng.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值