学习DM实时主备的搭建,搭建过程参考 DM8 数据守护与读写分离集群V4.0官方手册进行搭建,手册是在Windows本地安装后,在安装路径下有一个doc目录,里面是关于DM数据库的一些帮助手册。这里主要讲讲实时主备的实现原理,搭建过程中需要注意的地方以及相应的配置文件。
一、实现原理
通过将主库(生产库)产生的 Redo日志传输到备库,备库接收并重新应用 Redo 日志,从而实现备库与主库的数据同步。通过DM数据守护进程监控数据库状态,获取主、备库数据同步情况,然后通过确认监视器获得的数据库状态信息来实现自动切换。当监视器发现正在运行的主库在一定时间内没有守护进程的消息时,判定主库出现异常,将备库状态切换为主库进行对外服务;当主库恢复没问题时,在将主库加入进来,变为备库,从而实现主备的切换。
二、实时主备的主要功能
1.实时数据同步
2. 主备库切换
3. 自动故障处理
4. 自动数据同步
5. 备库接管
6. 备库强制接管
三、搭建过程中的配置文件
1.dm.ini
INSTANCE_NAME 数据库实例名(长度不超过 16 个字符),与 dmmal.ini 中的MAL_INST_NAME 对应。配置数据守护系统时,应该保持INSTANCE_NAME 是全局唯一的。
PORT_NUM 服务器监听通讯端口号,服务器配置此参数,有效值范围(1024~65534),发起连接端的端口在 1024-65535 之间随机分配。此参数配置应与dmmal.ini中的MAL_INST_PORT对应。
DW_PORT 服务器监听守护进程连接请求的端口,服务器配置此参数,有效值范围(1024~65534),发起连接端的端口在 1024-65535 之间随机分配。
DW_INACTIVE_INTERVAL 服务器认定守护进程未启动的时间,有效值范围(0~1800),单位为 S,默认 60s。如果服务器距离上次收到守护进程消息的时间间隔在设定的时间范围内,则认为守护进程处于活动状态,此时,不允许手工执行修改服务器模式、状态的 SQL 语句;如果超过设定时间仍没有收到守护进程消息,则认为守护进程未启动,此时如果 ALTER_MODE_STATUS 参数设为 1,则允许手工方式执行这类 SQL 语句。ALTER_MODE_STATUS 是否允许手工修改数据库的模式和状态以及OGUID,1表示允许,0 表示不允许,此参数可动态修改,默认为 1,数据守护环境下=建议配置为 0,避免用户手工干预。
ENABLE_OFFLINE_TS 是否允许 offline 表空间,1 表示允许,0 表示不允许,2 表示禁止备库,其他放开。守护环境下建议配置为 2。
SESS_FREE_IN_SUSPEND 远程归档失败会导致系统挂起;为了防止主备库之间网络故障、备库强制接管后,应用连接一直挂住不切换到新主库,设置该参数,表示归档失败挂起后隔一段时间自动断开所有连接。默认值60s,取值范围 0-1800s,0 表示不断开。
MAL_INI MAL 系统配置开关,0 表示不启用 MAL 系统,1 表示启用 MAL系统。
ARCH_INI Redo 日志归档配置开关,0 表示不启动 Redo 日志归档,1 表示启用 Redo 日志归档
TIMER_INI 是否启用定时器,0:不启用;1:启用
MPP
达梦数据库学习之实时主备集群
最新推荐文章于 2024-04-08 11:41:30 发布