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

DM 达梦数据库 创建服务 无法创建目录

原创 cndba 2021-02-06
3021

在升级DM 8.1.1.19升级到8.1.1.48 的操作中,创建的服务无法正常启动。 但手工执行dmserver 命令是可以启动达梦实例。

服务创建的说明参考我之前的博客:

达梦数据库 DM8 中 注册服务 说明
https://www.cndba.cn/dave/article/3753

这里记录错误信息:

[root@www.cndba.cn root]# ./dm_service_installer.sh -t dmserver -p dave -dm_ini /dm/dmdbms/data/cndba/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedave.service to /usr/lib/systemd/system/DmServicedave.service.
创建服务(DmServicedave)完成
[root@www.cndba.cn root]# systemctl start DmServicedave.service
Job for DmServicedave.service failed because the control process exited with error code. See "systemctl status DmServicedave.service" and "journalctl -xe" for details.
[root@www.cndba.cn root]# systemctl status DmServicedave.service
● DmServicedave.service - Dameng Database Service(DmServicedave).
   Loaded: loaded (/usr/lib/systemd/system/DmServicedave.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 二 2020-12-01 16:49:36 CST; 11s ago
  Process: 62920 ExecStart=/dm/dmdbms/bin/DmServicedave start (code=exited, status=1/FAILURE)

12月 01 16:49:36 study systemd[1]: Starting Dameng Database Service(DmServicedave)....
12月 01 16:49:36 study DmServicedave[62920]: mkdir: 无法创建目录"_REPLACE_SELF_DM_HOME": 权限不够
12月 01 16:49:36 study DmServicedave[62920]: chown: 无法访问"_REPLACE_SELF_DM_HOME/log": 没有那个文件或目录
12月 01 16:49:36 study DmServicedave[62920]: mkdir: 无法创建目录"_REPLACE_SELF_DM_HOME": 权限不够
12月 01 16:49:36 study DmServicedave[62920]: chown: 无法访问"_REPLACE_SELF_DM_HOME/bin/pids": 没有那个文件或目录
12月 01 16:49:36 study DmServicedave[62920]: please change  or root to execute the service script, otherwise may be failed !
12月 01 16:49:36 study systemd[1]: DmServicedave.service: control process exited, code=exited status=1
12月 01 16:49:36 study systemd[1]: Failed to start Dameng Database Service(DmServicedave)..
12月 01 16:49:36 study systemd[1]: Unit DmServicedave.service entered failed state.
12月 01 16:49:36 study systemd[1]: DmServicedave.service failed.
[root@www.cndba.cn root]#

研究好长时间,一直在纠结这里的_REPLACE_SELF_DM_HOME目录,会在执行脚本的目录生成,尝试过手工赋权,依旧不正确。

我这个操作步骤是直接解压缩iso安装文件,然后将bin目录上传到服务器并修改成dmdba 用户的。 所以怀疑是这个过程导致的权限不对导致。

所以重新执行静默安装,将数据库临时安装到了/tmp/dmdbms 目录下,然后重新将bin复制过去。 这样就避免修改了bin目录的权限。

[dave@www.cndba.cn dm]$ ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:
解压安装程序......... 
……
请选择安装目录 [/home/dmdba/dmdbms]:/tmp/dmdbms
……

再次启动服务正常:

[root@www.cndba.cn root]# systemctl start DmServicedave.service
Job for DmServicedave.service failed because the control process exited with error code. See "systemctl status DmServicedave.service" and "journalctl -xe" for details.
[root@www.cndba.cn root]# systemctl status DmServicedave.service
● DmServicedave.service - Dameng Database Service(DmServicedave).
   Loaded: loaded (/usr/lib/systemd/system/DmServicedave.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 二 2020-12-01 19:01:47 CST; 4s ago
  Process: 129728 ExecStart=/dm/dmdbms/bin/DmServicedave start (code=exited, status=1/FAILURE)

12月 01 19:01:47 study systemd[1]: Starting Dameng Database Service(DmServicedave)....
12月 01 19:01:47 study DmServicedave[129728]: please change  or root to execute the service script, otherwise may be failed !
12月 01 19:01:47 study systemd[1]: DmServicedave.service: control process exited, code=exited status=1
12月 01 19:01:47 study systemd[1]: Failed to start Dameng Database Service(DmServicedave)..
12月 01 19:01:47 study systemd[1]: Unit DmServicedave.service entered failed state.
12月 01 19:01:47 study systemd[1]: DmServicedave.service failed.
[root@www.cndba.cn root]# systemctl start DmServicedave.service
[root@www.cndba.cn root]# systemctl status DmServicedave.service
● DmServicedave.service - Dameng Database Service(DmServicedave).
   Loaded: loaded (/usr/lib/systemd/system/DmServicedave.service; enabled; vendor preset: disabled)
   Active: active (running) since 二 2020-12-01 19:09:03 CST; 5s ago
  Process: 27923 ExecStop=/dm/dmdbms/bin/DmServicedave stop (code=exited, status=0/SUCCESS)
  Process: 31658 ExecStart=/dm/dmdbms/bin/DmServicedave start (code=exited, status=0/SUCCESS)
 Main PID: 31683 (dmserver)
    Tasks: 25
   CGroup: /system.slice/DmServicedave.service
           └─31683 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/cndba/dm.ini -noconsole

12月 01 19:08:48 study systemd[1]: Starting Dameng Database Service(DmServicedave)....
12月 01 19:09:03 study DmServicedave[31658]: [35B blob data]
12月 01 19:09:03 study systemd[1]: Started Dameng Database Service(DmServicedave)..
[root@www.cndba.cn root]#

所以在升级达梦数据库时,还是需要注意bin目录的权限,虽然手动启动没有影响,但对服务还是有影响的。

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

评论