达梦数据库启动异常、主备+异步备机修改为主备+单机用dmhs双向同步

时间:2024-04-01 13:45:36

一、数据库服务器修改配置后数据库无法启动问题分析
背景:
某系统管理员反馈数据库服务器异常光机后数据库服务不能启动。
达梦数据库启动异常、主备+异步备机修改为主备+单机用dmhs双向同步
检查服务器磁盘是否已经挂载。
达梦数据库启动异常、主备+异步备机修改为主备+单机用dmhs双向同步

问题分析:
数据库启动时查看dm_DMSERVER_202002.log发现报错信息如下:
达梦数据库启动异常、主备+异步备机修改为主备+单机用dmhs双向同步
跟服务器运维厂家沟通后,得到的反馈是:服务器异常自动关机,服务器启动后又修改过服务器配置,调整内存配置64G为32G。
检查dm.ini的配置,发现BUFFER值已经超过了现有服务器配置的实际内存值:
达梦数据库启动异常、主备+异步备机修改为主备+单机用dmhs双向同步
问题解决过程:
修改dm.ini的配置与实际服务器内存值想匹配:
达梦数据库启动异常、主备+异步备机修改为主备+单机用dmhs双向同步
重启数据库启动成功:
达梦数据库启动异常、主备+异步备机修改为主备+单机用dmhs双向同步
经验教训:
1、数据库服务器在修改配置时要相应的修改dm.ini文件与服务器实际配置相匹配,才能保证数据库正常运行。
2、数据库服务器重启或者修改配置时,要求服务器运维厂家提前通知数据库厂商,便于做好应急预案。
3、数据库一定要做备份。定期巡检。

二、主备+异步备机修改为主备+单机方案
背景:
某地综合系统数据库方案前期采用主备+异步备机方案,后来由于考虑到异步备机不能回写数据到主备库上去。因此决定更换方案为主备+单机,主备和单机之间用dmhs做双向同步。
网络情况如下:
主机ip:10.111.142.80、10.111.249.23
备机ip:10.111.142.82、10.111.249.24
异步备机ip:10.180.157.11

实施步骤:
1、停止守护进程
10.111.142.80 ./dmwatcherd stop
10.111.142.82 ./dmwatcherd stop
10.180.157.11 ./dmwatcherd stop

2、停止数据库服务
10.111.142.80 ./dmserverd stop
10.111.142.82 ./dmserverd stop
10.180.157.11 ./dmserverd stop

3、修改配置文件dm.ini
10.111.142.80 TIMER_INI=1修改为TIMER_INI=0 ——关闭定时器
10.111.142.82 不做修改
10.180.157.11 MAL_INI=1修改为MAL_INI=0 ——关闭mal系统,因为修改为单机不再需要mal系统

4、修改配置文件dmmal.ini
10.111.142.80 以下内容注释掉 ——取消异步备机mal的相关配置
[MAL_INST3]
MAL_INST_NAME = DMSERVER3
MAL_HOST = 10.180.157.11
MAL_PORT = 61141
MAL_INST_HOST = 10.180.157.11
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
10.111.142.82以下内容注释掉 ——取消异步备机mal的相关配置
[MAL_INST3]
MAL_INST_NAME = DMSERVER3
MAL_HOST = 10.180.157.11
MAL_PORT = 61141
MAL_INST_HOST = 10.180.157.11
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
10.180.157.11 删除dmmal.ini文件——修改为单机不再需要mal系统

5、修改dmarch.ini文件
10.111.142.80 注释以下内容 ——取消主机到异步备机的归档
[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC
ARCH_DEST = DMSERVER3
ARCH_TIMER_NAME = RT_TIMER
10.111.142.82 不做修改
10.180.157.11 不做修改

6、启动数据库
10.111.142.80 ./dmserverd start
10.111.142.82 ./dmserverd start
10.180.157.11 ./dmserverd start
6、启动守护进程
10.111.142.80 ./dmwatcherd start
10.111.142.82 ./dmwatcherd start

7、修改10.180.157.11数据库模式为NORMAL
ALTER DATABASE MOUNT;
ALTER DATABASE NORMAL;
ALTER DATABASE OPEN;

8、配置dmhs
10.111.142.80 配置文件见附件
10.180.157.11 配置文件见附件

9、在10.111.142.80、10.180.157.11 都执行dmhs_ddl_sql.sql创建dmhs需要的表和触发器等
10、启动dmhs
10.111.142.80 ./dmhs_serverd start
10.180.157.11 ./dmhs_serverd start

11、clear exec lsn
10.111.142.80 ./dmhs_console clear exec lsn
10.180.157.11 ./dmhs_console clear exec lsn
12、开始数据同步
10.180.157.11 ./dmhs_console start exec start cpt
10.111.142.80 ./dmhs_console start cpt start exec