DM8 Linux 脚本使用手册

本文档主要介绍 Linux(Unix) 系统中 DM 数据库的各种服务脚本,以及脚本的使用。

1 服务脚本

在Linux(Unix)系统中,很多程序的进程是以后台运行的方式启动的,进程以后台方式运行能够保证进程不因终端窗口的关闭而关闭,而且这些进程大多是常驻的,需要长期运行且不中断的。DM中也有许多这样的程序,这些程序的稳定运行保证了DM数据库实例或DM集群的正常运行,这些程序就是DM服务程序。为了方便用户能够使DM服务程序以后台运行的方式启动,我们为DM服务程序提供了对应的服务脚本模板。

1.1 DM服务脚本

DM提供了14个服务脚本模板,分别是DmAPService服务、DmAuditMonitor服务、DmJobMonitor服务、DmInstanceMonitor服务、DmServer服务、DmWatchService服务、DmMonitorService服务、DmASMSvrService服务、DmCSSService服务和DmCSSMonitorService服务、DmDRSService服务、DmDRASService服务、DmDCSService服务和DmDSSService服务。其中前4个在安装/bin目录下,其他的都在/bin/service_template下。

1.2 服务脚本参数修改

用户在使用这些服务脚本前,需要先手动修改服务脚本的参数。

以下将详细讲解各种服务脚本需要设置的参数。

  1. DmAPService

达梦数据库辅助插件服务。dmap对应的服务脚本模板,不需要修改脚本参数。DmAPService服务为单实例,即当前达梦数据库系统只可运行一个DmAPService服务。

表1.1 DmAPService服务参数
参数名称 参数说明
DFS_INI_PATH 服务脚本所需要的ini文件路径,即dfs.ini文件路径。
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmAuditMonitor

达梦数据库实时审计监控服务。dmamon对应的服务脚本模板,DmAuditMonitor服务为单实例,即当前达梦数据库系统只可运行一个DmAuditMonitor服务。修改参数如下所示:

表1.2 DmAuditMonitor服务参数
参数名称 参数说明
INI_PATH 服务脚本所需要的ini文件路径,即dmamon.ini文件路径。
DCR_INI_PATH 服务脚本所需要的ini文件路径,即dmdcr.ini文件路径。
USER_ID 数据库连接字符串,格式为username/password@servername:port
SSL_PATH 加密通讯(SSL)数据库的SSL文件的路径
SSL_PWD 加密通讯(SSL)数据库的SSL文件的密码
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmJobMonitor

达梦数据库实时作业监控。dmjmon对应的服务脚本模板,DmJobMonitor服务为单实例,即当前达梦数据库系统只可运行一个DmJobMonitor服务。修改参数如下所示:

表1.3 DmJobMonitor服务参数
参数名称 参数说明
USER_ID 数据库连接字符串,格式为username/password@servername:port
SSL_PATH 加密通讯(SSL)数据库的SSL文件的路径
SSL_PWD 加密通讯(SSL)数据库的SSL文件的密码
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmInstanceMonitor

达梦数据库实例实时监控服务。dmimon对应的服务脚本模板,不需要修改脚本参数。DmInstanceMonitor服务为单实例,即当前达梦数据库系统只可运行一个DmInstanceMonitor服务。

  1. DmService

达梦数据库实例服务。dmserver对应的服务脚本模板,一台物理主机可以运行多个dmserver实例,同样一台物理主机也可以运行多个dmserver的服务脚本。用户可以将服务脚本模板拷贝到其他目录,并修改脚本名称。

注意

建议用户将DmService作为新服务脚本的名称前缀。

表1.4 DmService服务参数
参数名称 参数说明
INI_PATH 服务脚本所需要的ini文件路径,即dm.ini文件路径。
DCR_INI_PATH 服务脚本所需要的ini文件路径,即dmdcr.ini文件路径。
START_MODE 服务启动模式,即dmserver启动模式,参数为open和mount。
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmWatcherService

达梦数据库数据守护服务(V4.0)。dmwatcher对应的服务脚本模板。

表1.5 dmwatcher服务参数
参数名称 参数说明
INI_PATH 服务脚本所需要的ini文件路径,即dmwatcher.ini文件路径。
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmMonitorService

达梦数据库数据守护监视器服务(V4.0)。dmmonitor对应的服务脚本模板。

表1.6 dmmonitor服务参数
参数名称 参数说明
INI_PATH 服务脚本所需要的ini文件路径,即dmmonitor.ini文件路径。
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmASMSvrService

达梦数据库集群同步服务。dmasmsvr对应的服务脚本模板。

表1.7 dmasmsvr服务参数
参数名称 参数说明
DCR_INI_PATH 服务脚本所需要的ini文件路径,即dmdcr.ini文件路径。
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmCSSService

达梦数据库集群同步监控服务。dmcss对应的服务脚本模板。

表1.8 dmcss服务参数
参数名称 参数说明
DCR_INI_PATH 服务脚本所需要的ini文件路径,即dmdcr.ini文件路径。
DFS_INI_PATH 服务脚本所需要的ini文件路径,即dmdfs.ini文件路径。
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmCSSMonitorService

达梦数据库自动存储管理器服务。dmcssm对应的服务脚本模板。

表1.9 dmcssm服务参数
参数名称 参数说明
INI_PATH 服务脚本所需要的ini文件路径,即dmcssm.ini文件路径。
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmDRSService

分布式日志服务器服务。dmdrs对应的服务脚本模板。

表1.10 dmdrs服务参数
参数名称 参数说明
INI_PATH 服务脚本所需要的ini文件路径,即drs.ini文件路径。
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmDCSService

分布式目录服务器服务。dmdcs对应的服务脚本模板。

表1.11 dmdcs服务参数
参数名称 参数说明
INI_PATH 服务脚本所需要的ini文件路径,即dcs.ini文件路径。
SERVER 需要连接的数据库信息(IP:PORT)
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmDSSService

分布式存储服务器服务。dmdss对应的服务脚本模板。

表1.12 dmdss服务参数
参数名称 参数说明
INI_PATH 服务脚本所需要的ini文件路径,即dss.ini文件路径。
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本
  1. DmDRASService

分布式日志归档服务器服务。dmdras对应的服务脚本模板。

表1.13 dmdras服务参数
参数名称 参数说明
INI_PATH 服务脚本所需要的ini文件路径,即dras.ini文件路径。
IS_DISABLED 是否禁用服务脚本,是指为true则禁用此脚本

其中,6~14中的服务脚本模板对应的DM服务程序,每一种进程均可在同一物理主机上运行多个,同样一台物理主机也可以运行多种服务脚本。用户可以将服务脚本模板拷贝到其他目录,并修改脚本名称。

注意

建议用户将服务脚本模板名称作为新服务脚本的名称的前缀。

1.3 服务使用命令

服务脚本支持的命令包括:

start|stop|status|condrestart|restart。

以下内容将以服务脚本DmServiceDMSERVER为示例。

  1. start

启动服务命令,启动命令如下:

./DmServiceDMSERVER start

启动服务成功,将打印 [ok] 字样。如果服务启动失败,将打印 [cancel]字样,并打印启动服务失败的详细信息。

  1. stop

停止服务命令,停止命令如下:

./DmServiceDMSERVER stop

停止服务成功,将打印 [ok] 字样。

注意

如果服务停止失败,服务脚本将循环去关闭服务进程,服务脚本不会主动强杀服务进程,此时需要用户手动停止服务进程。

  1. status

查询服务状态,查询命令如下:

./DmServiceDMSERVER status

##打印信息如下

##服务DmServiceDMSERVER正在运行

DmServiceDMSERVER (pid pid_num) is running...

##服务DmServiceDMSERVER已停止

DmServiceDMSERVER is stopped

##服务DmServiceDMSERVER已停止,但PID文件还存在

DmServiceDMSERVER dead but pid file exists
  1. restart

重启服务命令,重启命令如下:

./DmServiceDMSERVER restart

##重启服务命令等同于

./DmServiceDMSERVER stop

./DmServiceDMSERVER start
  1. condrestart

condrestart也属于重启命令,但增加了确认条件。如果服务正在运行,等同于restart命令。如果服务没有在运行,打印消息如下:

DmServiceDMSERVER service is not running.

2 注册与卸载服务

在现实使用环境中,如果Linux(Unix)系统重启,用户希望在操作系统启动时能够自动启动某些应用程序的进程。为了达到这种功能就必须为这些应用程序编写服务脚本,并注册成操作系统服务。在以上的内容,已经讲解了DM所提供的服务脚本种类,参数修改和使用说明。以下内容将详细讲解把DM服务脚本注册成操作系统服务的方法。

2.1 注册服务

2.1.1 使用脚本注册服务

DM提供了将DM服务脚本注册成操作系统服务的脚本,同时也提供了卸载操作系统服务的脚本。注册和卸载脚本文件所在目录为安装目录的“/scripts/root”子目录下。

注册服务脚本为dm_service_installer.sh,用户可以使用注册服务脚本将服务脚本注册成为操作系统服务,命令参数如下所示:

表2.1 注册服务参数
标志 参数 说明
-t 服务类型 注册服务类型,支持一下服务类型:dmap、 dmamon、dmserver 、dmwatcher、dmmonitor 、dmasmsvr 、dmcss 、dmcssm、dmdrs、dmdras、dmdcs、dmdss
-p 服务名后缀 指定服务名后缀,生成的操作系统服务名为“服务脚本模板名称+服务名后缀”。此参数只针对5~14服务脚本生效。
-dm_ini INI文件路径 指定服务所需要的dm.ini文件路径。
-watcher_ini INI文件路径 指定服务所需要的dmwatcher.ini文件路径。
-monitor_ini INI文件路径 指定服务所需要的dmmonitor.ini文件路径。
-dcr_ini INI文件路径 指定服务所需要的dmdcr.ini文件路径。
-cssm_ini INI文件路径 指定服务所需要的dmcssm.ini文件路径。
-dss_ini INI文件路径 指定服务所需要的dss.ini文件路径。
-drs_ini INI文件路径 指定服务所需要的drs.ini文件路径。
-dras_ini INI文件路径 指定服务所需要的dras.ini文件路径。
-dcs_ini INI文件路径 指定服务所需要的dcs.ini文件路径。
-dfs_ini INI文件路径 指定服务所需要的dfs.ini文件路径。
-server 连接信息 指定服务器连接信息(IP:PORT)
-m open或mount 指定数据库的启动模式open或mount。此参数只针对dmserver服务类型生效,可选。
-s 服务脚本文件路径 如果设置此参数则忽略除-y外的其他所有参数。指定服务脚本全路径
-y 服务名 设置依赖服务,此选项只针对systemd服务环境下的dmserver和dmasmsvr服务生效
-h 帮助

使用方法:

操作之前,需要使用root系统用户登录或切换至root系统用户。

以下示例为创建数据库实例的系统服务,数据库dm.ini所在路径为/opt/dmdbms/data/DAMENG/dm.ini,系统服务后缀为DMSERVER。

1. 通过指定服务类型注册服务

命令如下:

./dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -p DMSERVER

注册脚本将注册达梦数据库实例服务DmServiceDMSERVER。

2. 通过服务脚本文件注册服务

如果已存在修改完成的服务脚本模板。用户可通过此服务脚本文件注册操作系统随机启动服务。命令如下:

./dm_service_installer.sh -s /opt/dmdbms/bin/DmServiceDMSERVER

2.1.2 手动注册服务

在Linux(Unix)系统中,init.d和systemd是最常见的系统服务环境。下面以dmserver(DmServcie)服务为例,将讲解在不同系统服务环境中手动注册服务的方法。

2.1.2.1 init.d环境

以下步骤将以Red Hat Enterprise Linux 6 for x86-64系统为例,由于不同操作系统系统命令不尽相同,具体步骤及操作请以本机系统为准,具体细节可向系统管理员咨询。

  1. 拷贝服务模板文件(DmService)到系统服务目录(/etc/rc.d/init.d),并将新文件命名为DmServiceDMSERVER。
cp /opt/dmdbms/bin/service_template/DmService

/etc/rc.d/init.d/DmServiceDMSERVER

chmod 755 /etc/rc.d/init.d/DmServiceDMSERVER
  1. 修改服务脚本(/etc/rc.d/init.d/DmServiceDMSERVER)配置。
##修改DmServiceDMSERVER

INI_PATH=INI路径

其他参数请参考1.2服务脚本参数修改相关内容,并根据自身需求修改服务脚本配置。

  1. 创建启动服务的连接
ln -s /etc/rc.d/init.d/DmServiceDMSERVER /etc/rc.d/rc0.d/K02DmServiceDMSERVER

ln -s /etc/rc.d/init.d/DmServiceDMSERVER /etc/rc.d/rc1.d/K02DmServiceDMSERVER

ln -s /etc/rc.d/init.d/DmServiceDMSERVER /etc/rc.d/rc2.d/S98DmServiceDMSERVER

ln -s /etc/rc.d/init.d/DmServiceDMSERVER /etc/rc.d/rc3.d/S98DmServiceDMSERVER

ln -s /etc/rc.d/init.d/DmServiceDMSERVER /etc/rc.d/rc4.d/S98DmServiceDMSERVER

ln -s /etc/rc.d/init.d/DmServiceDMSERVER /etc/rc.d/rc5.d/S98DmServiceDMSERVER

ln -s /etc/rc.d/init.d/DmServiceDMSERVER /etc/rc.d/rc6.d/K02DmServiceDMSERVER
  1. 启动停止服务。
##停止服务

service DmServiceDMSERVER stop

##启动服务

service DmServiceDMSERVER start
2.1.2.2 systemd环境

以下步骤将以Red Hat Enterprise Linux 7 for x86-64系统为例,由于不同操作系统系统命令不尽相同,具体步骤及操作请以本机系统为准,具体细节可向系统管理员咨询。

1.拷贝服务模板文件(DmService)到目录(/opt/dmdbms/bin),并将新文件命名为DmServiceDMSERVER。

cp /opt/dmdbms/bin/service_template/DmService

/opt/dmdbms/bin/DmServiceDMSERVER

chmod 755 /opt/dmdbms/bin/DmServiceDMSERVER
  1. 修改服务脚本(/opt/dmdbms/bin/DmServiceDMSERVER)配置。
##修改DmServiceDMSERVER

INI_PATH=INI路径

其他参数请参考1.2服务脚本参数修改相关内容,并根据自身需求修改服务脚本配置。

  1. 创建系统服务配置文件(/usr/lib/systemd/system/DmServiceDMSERVER.service)。文件内容,如下所示:
[Unit]

Description=DmServiceDMSERVER

After=network.target remote-fs.target

[Service]

Type=forking

PIDFile=/opt/dmdbms/bin/pids/DmServiceDMSERVER.pid

ExecStart=/opt/dmdbms/bin/DmServiceDMSERVER start

ExecStop=/opt/dmdbms/bin/DmServiceDMSERVER stop

PrivateTmp=true

[Install]

WantedBy=multi-user.target
  1. 在使用服务前,需要启用服务。相关命令如下所示:
##启用服务

systemctl enable DmServiceDMSERVER

##停止服务

systemctl stop DmServiceDMSERVER

##启动服务

systemctl start DmServiceDMSERVER

2.2 卸载服务

服务卸载脚本文件为dm_service_uninstaller.sh。用户可以使用服务卸载脚本删除已经注册成操作系统服务的DM服务脚本,参数如下表:

表2.2 删除服务参数
标志 参数 说明
-n 服务名 指定服务名,删除指定的操作系统随机启动服务
-h 帮助

使用方法:

操作之前,需要使用root系统用户登录或切换至root系统用户。

删除指定的操作系统服务。假设存在DM的操作系统随机启动服务DmServiceDMSERVER,命令如下:

./dm_service_uninstaller.sh -n DmServiceDMSERVER
微信扫码
分享文档
扫一扫
联系客服