当用图形化安装运行注册服务或者利用$DM_HOME/script/root下的dm_service_installer.sh注册服务后,就可以将达梦数据库注册成服务,操作系统可以像管理其他服务一样,管理达梦数据库服务,包括开启/查看状态/关闭服务/查看服务运行的日志等
$ systemctl list-unit-files |grep Dm
DmAPService.service disabled
DmServiceDMSERVER.service enabled
--查看开启服务
# systemctl start DmServiceDMSERVER.service
--关闭服务
# systemctl stop DmServiceDMSERVER.service
--查看服务状态
# systemctl status DmServiceDMSERVER.service
● DmServiceDMSERVER.service - DM Instance Service(DmServiceDMSERVER).
Loaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Tue 2023-08-29 14:20:18 CST; 29s ago
Process: 24928 ExecStart=/dm8/dmdbms/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)
Process: 25035 ExecStop=/dm8/dmdbms/bin/DmServiceDMSERVER stop (code=exited, status=0/SUCCESS)
Main PID: 24949 (code=exited, status=0/SUCCESS)
8月 29 14:18:45 DCA systemd[1]: Starting DM Instance Service(DmServiceDMSERVER)....
8月 29 14:19:00 DCA DmServiceDMSERVER[24928]: [39B blob data]
8月 29 14:19:00 DCA systemd[1]: Started DM Instance Service(DmServiceDMSERVER)..
8月 29 14:20:08 DCA systemd[1]: Stopping DM Instance Service(DmServiceDMSERVER)....
8月 29 14:20:18 DCA DmServiceDMSERVER[25035]: [39B blob data]
8月 29 14:20:18 DCA systemd[1]: DmServiceDMSERVER.service: Succeeded.
8月 29 14:20:18 DCA systemd[1]: Stopped DM Instance Service(DmServiceDMSERVER)..
注意通过systemctl或者systemd service方式设定随机自启动的数据库服务, 其能打开的最大文件描述符、proc数量等不受/etc/security/limits.conf 控制,需要修改/etc/systemd/system.conf文件,增加类似DefaultLimitNOFILE=65535重启服务器,才有效果,如下:
DefaultLimitFSIZE=unlimited DefaultLimitDATA=unlimited DefaultLimitCORE=unlimited DefaultLimitNOFILE=65536 DefaultLimitAS=unlimited DefaultLimitNPROC=10240 DefaultLimitNICE=0
在数据库运行之后,可通过cat /proc/pid号/limits,检查实际资源限制是否生效:
# cat /proc/25984/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size unlimited unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 100000 100000 processes
Max open files 100000 100000 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 11341 11341 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
图形化安装运行注册服务之后,在$DM_HOME/bin下会生成和服务名后缀一样命令
[dmdba@node01 ~/dmdbms/bin 2023-08-28 18:27:46]
$ ./DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]
[dmdba@node01 ~/dmdbms/bin 2023-08-28 18:28:18]
$ ./DmServiceDMSERVER status
DmServiceDMSERVER (pid 4881) is running.
--通过systemctl启动后,无法通过$DM_HOME/bin/DmServiceDMSERVER查看状态
$ systemctl status DmServiceDMSERVER.service
● DmServiceDMSERVER.service - DM Instance Service(DmServiceDMSERVER).
Loaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)
Active: inactive (dead) since 一 2023-08-28 18:27:30 CST; 2min 2s ago
Process: 4795 ExecStop=/home/dmdba/dmdbms/bin/DmServiceDMSERVER stop (code=exited, status=0/SUCCESS)
Process: 4684 ExecStart=/home/dmdba/dmdbms/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)
Main PID: 4705 (code=exited, status=0/SUCCESS)
--命令行前台启动 $ ./dmserver path=/home/dmdba/dmdata/DAMENG/dm.ini ... SYSTEM IS READY. ^CServer is stopping... DM Database Server shutdown successfully. [dmdba@node01 ~/dmdbms/bin 2023-08-28 18:35:31] $ ./dmserver path=/home/dmdba/dmdata/DAMENG/dm.ini -noconsole version info: enterprise ... SYSTEM IS READY. --命令行前台关闭 Ctrl + C或者关闭界面自动关闭 ^[[A^[[A^CServer is stopping...
--命令行后台启动
$ ./dmserver path=/home/dmdba/dmdata/DAMENG/dm.ini 2>&1 &
[1] 5333
[dmdba@node01 ~/dmdbms/bin 2023-08-28 18:40:24]
$ version info: enterprise
DM Database Server 64 V8 03134284044-20230703-194450-20040 startup...
...
SYSTEM IS READY.
--命令行后台启动
$ ps -ef|grep ini
dmdba 5333 5295 0 18:40 pts/0 00:00:00 ./dmserver path=/home/dmdba/dmdata/DAMENG/dm.ini
dmdba 5502 5295 0 18:50 pts/0 00:00:00 grep --color=auto ini
--命令行后台关闭
$ kill -9 5333
$ ps -ef|grep ini
dmdba 5504 5295 0 18:51 pts/0 00:00:00 grep --color=auto ini
[1]+ 已杀死 ./dmserver path=/home/dmdba/dmdata/DAMENG/dm.ini 2>&1
$ ps -ef|grep ini
dmdba 5506 5295 0 18:51 pts/0 00:00:00 grep --color=auto ini
无论哪种启动方式,都可以登录数据库,用stop instance关闭数据库服务
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 5.462(ms)
SQL> stop instance;
操作已执行
已用时间: 0.604(毫秒). 执行号:0.
SQL> exit;
$ ps -ef|grep ini
dmdba 25638 2542 0 14:45 pts/0 00:00:00 grep ini
总结:
注册成服务通过systemctl关闭,方便设置是否开机启动关闭,$DM_HOME/bin/DmServiceDMSERVER start/stop日常启动关闭比较常用,其他方式适合测试环境或者临时使用
用其中得一种方式启动,优先就用该种方式关闭,防止用其他方式启动关闭引起异常
达梦社区技术https://eco.dameng.com
文章
阅读量
获赞