开发报达梦数据库无法连接。
我们发现,数据库5236端口没有进程
netstat -tunlp | grep 5236
查询服务状态
service --status-all
我们发现服务报错
DmAPService dead but pid file exists
DmServiceDMSERVER dead but pid file exists
试着重启达梦服务
service DmAPService restart
依旧是相同报错
Starting DmAPService: [ FAILED ]
os_pipe2_create_server_with_name, name:[/home/dmdba/dm/bin/DM_PIPE_DMAP_LSNR_RD], error:[17]
dmap V7.6.0.142-Build(2019.03.12-103811)ENT
dmap init failed, code[-7157]: Named pipe exist
针对这种管道文件已经存在的问题,处理方式并不困难。
在达梦安装的bin目录下面删除所有DM_PIPE开头的文件,然后重启数据库服务。
rm -rf DM_PIPE_DMAP_LSNR_RD
rm -rf DM_PIPE_DMAP_LSNR_WR
service DmAPService start
Starting DmAPService: [ OK ]
service DmAPService status
DmAPService (pid 40484) is running...
至此,问题解决。
如果数据库不自然意外停止服务,这种问题出现的可能性会增高。