前期测试达梦数据库DM8使用替换bin目录的方式升级主备集群环境(从8.1.2.84升级到8.1.2.94),运行一段时间后,现在想测试下:还能不能使用低版本的bin目录来启动主备集群了,启动主备集群OK后,使用非确认监视器发现:集群状态异常,主库自动关闭,备库也处于mount状态,看来还是需要通过其他手段来实现版本降级启动集群。
【故障现象】
说明:可以看到通过非确认监视器发现主备集群节点状态异常;
说明:通过检查log/目录下的dm_DW1_01_202206.log日志:发现是:[ERROR] Server DM8_DCT_VERSION mismatch, version of data is 41, server version is 38. 版本错误导致的。
【故障分析处理】
1. 使用dmctlcvt工具修改DM8_DCT_VERSION版本
[dmdba@dmdb01 bin]$ ./dmctlcvt TYPE=1 SRC=/dm8/dmdbms/data/DAMENG/dm.ctl DEST=/dm8/dmdbms/data/DAMENG/dm.txt
DMCTLCVT V8
convert ctl to txt success!
[dmdba@dmdb01 bin]$
修改DM8_DCT_VERSION 从41 改成38.
重新生成ctl控制文件
[dmdba@dmdb01 bin]$ ./dmctlcvt TYPE=2 SRC=/dm8/dmdbms/data/DAMENG/dm.txt DEST=/dm8/dmdbms/data/DAMENG/dm.ctl
DMCTLCVT V8
convert txt to ctl success!
[dmdba@dmdb01 bin]$
2.启动主备集群
3.检查主备集群状态
1)使用非确认监视器检查主备集群状态
2)使用disql检查主备集群状态
【总结】
如果是测试:(1)使用低版本bin目录来启动达梦数据库DM8;(2)验证dmctlcvt工具的功能性;(3)个人电脑空间不够,既想要保留高版本,又想测试低版本功能,等这些情况,可以通过dmctlcvt工具修改dm.ctl实现版本降级的来使用,生产环境切勿使用此方法来进行版本降级(生产环境可通过搭建新的低版本环境,在进行数据迁移进行测试)。
达梦在线服务平台:https://eco.dameng.com/