测试1:搭建【DMDSC+实时备机】作为前置环境,修改相关配置文件,变成【DMDSC+异步备机】,测试集群是否可以正常启动。
测试2:搭建【DMDSC+2实时备机】作为前置环境,修改相关配置文件,变成【DMDSC+实时备机+异步备机】,测试集群是否可以正常启动。
前置环境布置可参考以下资料:
正常启动时各主机及监视器截图如下:
【DSC1】
【DSC2】
【EP01】
【dmcssm】
【dmmonitor】
(1) 先exit退出dmmonitor
(2) 关闭实时备机和DMDSC的数据守护
(3) 关闭实时备机的dmserver
(4) 通过dmcssm关闭DMDSC的dmserver
(5) 通过dmcssm关闭DMDSC的dmasmsvr
(6) 再exit退出dmcssm
(7) 关闭DMDSC的dmcss
正常停时各主机截图如下:
【DSC1】
【DSC2】
【EP01】
(1) 修改dmarch.ini,增加异步归档
【DSC1】
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/data/DSC/dsc1/arch_async
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC2
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = +DMDATA/data/DSC/dsc2/arch_async
[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC
ARCH_DEST = EP01
ARCH_TIMER_NAME = RT_TIMER
ARCH_SEND_DELAY = 1
【DSC2】
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/data/DSC/dsc2/arch_async
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = +DMDATA/data/DSC/dsc1/arch_async
[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC
ARCH_DEST = EP01
ARCH_TIMER_NAME = RT_TIMER
ARCH_SEND_DELAY = 1
【EP01】
[ARCHIVE_LOACL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch_async
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
(2) EP01修改dmwatcher.ini,改为本地守护 DW_TYPE=LOCAL
[GRP1]
DW_TYPE = LOCAL #本地守护类型
DW_MODE = MANUAL #手动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_INI = /dm/dmdata/EP01/DAMENG/dm.ini # dm.ini 配置文件路径
INST_AUTO_RESTART = 0 #关闭实例的自动启动功能
INST_STARTUP_CMD = /dm/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭
(3) DMDSC修改dm.ini中的参数 TIMER_INI = 1
(4) DSC1和DSC2增加 dmtimer.ini
[RT_TIMER] #和 dmarch.ini 中的 ARCH_TIMER_NAME 一致
TYPE = 2
FREQ_MONTH_WEEK_INTERVAL = 1
FREQ_SUB_INTERVAL = 0
FREQ_MINUTE_INTERVAL = 0
START_TIME = 11:20:00
END_TIME = 11:21:00
DURING_START_DATE = 2022-10-21 10:00:00
DURING_END_DATE = 9999-12-31 23:59:59
NO_END_DATE_FLAG = 1
DESCRIBE = RT TIMER
IS_VALID = 1
(1) 测试1:DMDSC+实时备机 → 修改配置文件 → DMDSC+异步备机
【DSC1&DSC2】
换前台方式启动,报错没有配置实时归档或即时归档
【EP01】
(2) 测试2:DMDSC+2实时备机 → 修改配置文件 → DMDSC+实时备机+异步备机
【DSC1】 & 【DSC2】
【EP01】 & 【EP02】
【DMDSC+2实时备机搭建成功时dmmonitor截图】
【DMDSC+实时备机+异步备机搭建成功时dmmonitor截图】
测试集群可用性以及定时器有效:
【dmtimer.ini】
[RT_TIMER] #和 dmarch.ini 中的 ARCH_TIMER_NAME 一致
TYPE = 2
FREQ_MONTH_WEEK_INTERVAL = 1
FREQ_SUB_INTERVAL = 0
FREQ_MINUTE_INTERVAL = 0
START_TIME = 18:25:00
END_TIME = 18:26:00
DURING_START_DATE = 2022-10-21 10:00:00
DURING_END_DATE = 9999-12-31 23:59:59
NO_END_DATE_FLAG = 1
DESCRIBE = RT TIMER
IS_VALID = 1
【DSC1】
【DSC2】
【EP01】
【EP02】
测试1:DMDSC+实时备机 → 修改配置文件 → DMDSC+异步备机 无法成功
【DMDSC+异步备机】属于多源配置同一个异步备库,在测试过程中dmarch.ini没有配置REALTIME和TIMELY归档,所以无法搭建成功。
测试2:DMDSC+2实时备机 → 修改配置文件 → DMDSC+实时备机+异步备机 成功
在测试过程中,在EP01的dmarch.ini文件中加入异步归档,并将EP02的配置文件修改为异步备机的相关配置文件,其中dmarch.ini中还保留有实时备机EP01配置REALTIME归档,所以可以通过修改配置文件,将实时备机改为异步备机。
根本原因:未配置REALTIME和TIMELY归档的库,不能配置同一个异步备库。
——《DM8数据守护与读写分离集群V4.0》 2.8 异步备库
本文测试通过修改相关配置文件是否可以将达梦数据库的 DMDSC+实时备机 改变成 DMDSC+异步备机 集群。测试证明,未配置REALTIME和TIMELY归档的库,不能配置同一个异步备库。如果文中有误,欢迎指出,大家共同交流进步!
更多达梦技术资讯,请访问达梦技术社区:
文章
阅读量
获赞