结论:和启动顺序有关
场景1:
启动集群时,如果是先启动数据库服务,再启动守护服务,那么直接关闭守护服务,不会自动关闭数据库实例。
场景2:
启动集群时,如果先启动守护服务,并且自动拉起了数据库实例,那么直接关闭守护服务,会自动关闭数据库实例。
测试过程如下:
集群状态如下:
show global info 2026-03-16 20:29:05 #================================================================================# GROUP OGUID MON_CONFIRM MODE MPP_FLAG GRP1 128131130 FALSE AUTO FALSE <> DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT DETACHED 192.0.0.128 5439 2026-03-16 20:29:04 GLOBAL VALID OPEN CJC01 OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID FALSE DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT DETACHED 192.0.0.131 5439 2026-03-16 20:29:04 GLOBAL VALID OPEN CJC02 OK 1 1 OPEN STANDBY DSC_OPEN REALTIME VALID FALSE #================================================================================#
场景1:
启动集群时,如果是先启动数据库服务,再启动守护服务,那么直接关闭守护服务,不会自动关闭数据库实例。
启动达梦数据库服务
[root@cjc-db-05 ~]# systemctl start DmServiceCJC.service
启动达梦守护服务
[root@cjc-db-05 ~]# systemctl start DmWatcherServiceWATCHER.service
关闭达梦守护服务
[root@cjc-db-05 ~]# systemctl stop DmWatcherServiceWATCHER.service
查看对应日志
[dmdba@cjc-db-05 log]$ tail -10f dm_CJC02_202603.log 2026-03-16 20:31:15.613 [WARNING] database P0000013368 T0000000000000013609 utsk_dw_tcp_recv_thread, dmserver receive TCP message from dmwatcher(seqno: 0, name: CJC02)failed, close tcp port, code: -6007, errno: 0 2026-03-16 20:31:15.613 [INFO] database P0000013368 T0000000000000013609 utsk tcp port vio(16) close, dsc_seqno:0, from name:CJC02
检查达梦数据库服务
[root@cjc-db-05 ~]# systemctl status DmServiceCJC.service ● DmServiceCJC.service - DM Instance Service(DmServiceCJC). Loaded: loaded (/usr/lib/systemd/system/DmServiceCJC.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2026-03-16 20:21:20 CST; 11min ago Process: 13346 ExecStart=/dm8/dbms/bin/DmServiceCJC start (code=exited, status=0/SUCCESS) Main PID: 13368 (dmserver) CGroup: /system.slice/DmServiceCJC.service └─13368 /dm8/dbms/bin/dmserver path=/dm8/data/CJC/dm.ini -noconsole mount Mar 16 20:21:05 cjc-db-05 systemd[1]: Starting DM Instance Service(DmServiceCJC).... Mar 16 20:21:20 cjc-db-05 DmServiceCJC[13346]: [34B blob data] Mar 16 20:21:20 cjc-db-05 systemd[1]: Started DM Instance Service(DmServiceCJC)..
可以正常查询
[dmdba@cjc-db-05 ~]$ sh conn.sh 服务器[LOCALHOST:5239]:处于备库打开状态 登录使用时间 : 4.464(ms) disql V8 SQL> select * from CJCA.SALES_ORDER limit 1; 行号 ORDER_ID SALES_PERSON PRODUCT_NAME AMOUNT TRANSACTION_TIME MEMO ---------- -------------------- ------------ ------------ ------- -------------------------- ------------------------- 1 1 OTXMWWUS PPAHID 6802.06 2025-12-01 17:52:48.221977 Note_CyTKyncYZarmaSvQjcuy 已用时间: 40.275(毫秒). 执行号:1.
场景2:
启动集群时,如果先启动守护服务,并且自动拉起了数据库实例,那么直接关闭守护服务,会自动关闭数据库实例。
启动达梦守护:
[root@cjc-db-05 ~]# systemctl start DmWatcherServiceWATCHER.service
达梦数据库服务没有自动启动
[root@cjc-db-05 ~]# systemctl status DmServiceCJC.service ● DmServiceCJC.service - DM Instance Service(DmServiceCJC). Loaded: loaded (/usr/lib/systemd/system/DmServiceCJC.service; disabled; vendor preset: disabled) Active: inactive (dead)
但数据库实例已经自动拉起了
[root@cjc-db-05 ~]# ps -ef|grep dms dmdba 15108 1 0 20:37 ? 00:00:00 /dm8/dbms/bin/dmserver /dm8/data/CJC/dm.ini mount
可以正常查询
[dmdba@cjc-db-05 ~]$ sh conn.sh 服务器[LOCALHOST:5239]:处于备库打开状态 登录使用时间 : 4.561(ms) disql V8 SQL> select * from CJCA.SALES_ORDER limit 1; 行号 ORDER_ID SALES_PERSON PRODUCT_NAME AMOUNT TRANSACTION_TIME MEMO ---------- -------------------- ------------ ------------ ------- -------------------------- ------------------------- 1 1 OTXMWWUS PPAHID 6802.06 2025-12-01 17:52:48.221977 Note_CyTKyncYZarmaSvQjcuy 已用时间: 4.871(毫秒). 执行号:101.
关闭守护服务
[root@cjc-db-05 ~]# systemctl stop DmWatcherServiceWATCHER.service
实例自动关闭
[root@cjc-db-05 ~]# ps -ef|grep -i dmserver|grep -v grep
欢迎关注我的公众号《 IT小Chen》