暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦服务报错:DmServiceDSC0 dead but pid file exists

原创 敖子🍖 2024-10-10
601

部署的达梦为dsc集群,依稀记得上一次关库的时候可能异常掉电关机,今天发现无法连接数据库,两个节点disql登录也提示报错[-70028]:创建SOCKET连接失败.想了一下,不是密码变更的问题。



通过查询DmServiceCSS,DmServiceASM日志均未发现故障信息,查询DmServiceDSC日志信息定位发现不能连接达梦服务。

通过 ./DmASMSvrServiceASM0 status  ./DmCSSServiceCSS status 发现这两个服务均正常,唯独DmServiceDSC服务已经异常停止,尝试重启DmServiceDSC服务

[dmdba@dm bin]$ ./DmServiceDSC0 status
DmServiceDSC0 is stopped
[dmdba@dm bin]$ ./DmServiceDSC0 start
Starting DmServiceDSC0: connnect dmasmtool(dmasmtoolm) successfully.
                                                                                                                [ FAILED]

[dmdba@dm bin]$
[dmdba@dm bin]$ ./DmServiceDSC0 status
DmServiceDSC0 dead but pid file exists

提示DmServiceDSC0 dead but pid file exists,对管道文件已经存在,但服务异常停止的问题,通过向达梦社区的回答是检查dmserver进程是否存在,如果进程不存在但是达梦程序目录bin/pids下有对应进程文件,则可能是异常原因导致数据库停止,所以大概原因我知道了,去bin/pids下面删除已有的pid文件,由于谨慎心理,没有敢rm掉,而是mv备份一下,然后重新启动

[dmdba@dm pids]$ mv DmServiceDSC0.pid DmServiceDSC0.pid.bak

[dmdba@dm pids]$ cd ..

[dmdba@dm bin]$ ./DmServiceDSC0 start
Starting DmServiceDSC0: connnect dmasmtool(dmasmtoolm) successfully.
[ OK ]
[dmdba@dm bin]$
[dmdba@dm bin]$
[dmdba@dm bin]$ ./DmServiceDSC0 status
DmServiceDSC0 dead but pid file exists

结果还是dead状态,于是干脆删除这个pid文件,再重启服务生成新的pid文件

[dmdba@dm pids]$ ll
total 20
-rw-r--r-- 1 dmdba dinstall 5 Oct 10 14:48 DmAPService.pid
-rw-r--r-- 1 dmdba dinstall 5 Oct 10 14:49 DmASMSvrServiceASM0.pid
-rw-r--r-- 1 dmdba dinstall 5 Oct 10 14:48 DmCSSServiceCSS0.pid
-rw-r--r-- 1 dmdba dinstall 5 Oct 10 15:18 DmServiceDSC0.pid          //第一次备份后新生成的pid文件
-rw-r--r-- 1 dmdba dinstall 5 Oct 10 15:07 DmServiceDSC0.pid.bak   //备份的pid文件
[dmdba@dm pids]$ rm DmServiceDSC0.pid*
[dmdba@dm pids]$ ll
total 12
-rw-r--r-- 1 dmdba dinstall 5 Oct 10 14:48 DmAPService.pid
-rw-r--r-- 1 dmdba dinstall 5 Oct 10 14:49 DmASMSvrServiceASM0.pid
-rw-r--r-- 1 dmdba dinstall 5 Oct 10 14:48 DmCSSServiceCSS0.pid
[dmdba@dm pids]$ cd ..
[dmdba@dm bin]$ ./DmServiceDSC0 status
DmServiceDSC0 is stopped
[dmdba@dm bin]$ ./DmServiceDSC0 start
Starting DmServiceDSC0: connnect dmasmtool(dmasmtoolm) successfully.
                                                                                                              [ OK ]
[dmdba@dm bin]$ ./DmServiceDSC0 status
DmServiceDSC0 (pid 3813) is running.

另一个节点也删掉bin/pids的pid文件重新启动服务

服务起来后可以disql登录和远程连接数据库了


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论