本文档主要介绍 Linux(Unix) 系统中 DM 数据库的各种服务脚本,以及脚本的使用。
在 Linux(Unix)系统中,很多程序的进程是以后台运行的方式启动的,进程以后台方式运行能够保证进程不因终端窗口的关闭而关闭,而且这些进程大多是常驻的,需要长期运行且不中断的。DM 中也有许多这样的程序,这些程序的稳定运行保证了 DM 数据库实例或 DM 集群的正常运行,这些程序就是 DM 服务程序。为了方便用户能够使 DM 服务程序以后台运行的方式启动,我们为 DM 服务程序提供了对应的服务脚本模板。
DM 提供了 14 个服务脚本模板,分为两类:
第一类 位于 bin 目录下,不支持修改模板名称的脚本。分别为:DmAPService 服务、DmAuditMonitor 服务、DmJobMonitor 服务、DmInstanceMonitor 服务。
第二类 位于 bin/service_template 目录下,支持修改模板名称的脚本。分别为:DmServer 服务、DmWatchService 服务、DmMonitorService 服务、DmASMSvrService 服务、DmASMSvrmService 服务、DmCSSService 服务、DmCSSMonitorService 服务。
不同的脚本服务可运行的数量各不相同。下面分别进行介绍:
第一类服务脚本模板对应的 DM 服务程序,一个 DM 系统只需要运行一个。
第二类服务脚本模板对应的 DM 服务程序,每一种进程均可在同一物理机器上运行一个或多个,同样一台物理机器也可以运行多种服务脚本。用户可以将第二类服务脚本模板拷贝到其他目录,并修改脚本名称。建议用户将服务脚本模板名称作为新服务脚本名称的前缀。
用户在使用这些服务脚本前,需要先手动修改服务脚本的参数。
以下将详细讲解各种服务脚本需要设置的参数。
- DmAPService
达梦数据库辅助插件服务。dmap 对应的服务脚本模板,不需要修改脚本参数。DmAPService 服务为单实例,即当前达梦数据库系统只可运行一个 DmAPService 服务。
- DmAuditMonitor
达梦数据库实时审计监控服务。dmamon 对应的服务脚本模板,DmAuditMonitor 服务为单实例,即当前达梦数据库系统只可运行一个 DmAuditMonitor 服务。
- DmJobMonitor
达梦数据库实时作业监控。dmjmon 对应的服务脚本模板,DmJobMonitor 服务为单实例,即当前达梦数据库系统只可运行一个 DmJobMonitor 服务。
- DmInstanceMonitor
达梦数据库实例实时监控服务。dmimon 对应的服务脚本模板,除了 SAVE_PROC_OUT 参数,其他参数不需要修改。DmInstanceMonitor 服务为单实例,即当前达梦数据库系统只可运行一个 DmInstanceMonitor 服务。
- DmService
达梦数据库实例服务。dmserver 对应的服务脚本模板,一台物理主机可以运行多个 dmserver 实例,同样一台物理主机也可以运行多个 dmserver 的服务脚本。用户可以将服务脚本模板拷贝到其他目录,并修改脚本名称。
- DmWatcherService
达梦数据库数据守护服务(V4.0)。dmwatcher 对应的服务脚本模板。
- DmMonitorService
达梦数据库数据守护监视器服务(V4.0)。dmmonitor 对应的服务脚本模板。
- DmASMSvrService
达梦数据库集群同步服务。dmasmsvr 对应的服务脚本模板。
- DmASMSvrmService
达梦数据库集群同步服务,专门用于 DMASM 镜像环境。dmasmsvrm 对应的服务脚本模板。
- DmCSSService
达梦数据库集群同步监控服务。dmcss 对应的服务脚本模板。
- DmCSSMonitorService
达梦数据库自动存储管理器服务。dmcssm 对应的服务脚本模板。
服务脚本支持的命令包括:
DmServer 服务脚本和 DmASMSvrService 服务脚本除了支持上述命令外,还支持 stop_all 命令。在 DMDSC 环境下,使用 stop_all 命令可以停止集群中所有节点服务。
以下内容将以服务脚本 DmServiceDMSERVER 为示例。
- start
启动服务命令,启动命令如下:
启动服务成功,将打印 [ok] 字样。如果服务启动失败,将打印 [cancel]字样,并打印启动服务失败的详细信息。
- stop
停止服务命令,停止命令如下:
停止服务成功,将打印 [ok] 字样。
- stop_all
停止 DMDSC 集群中所有节点服务命令,停止命令如下:
停止服务成功,将打印 [ok] 字样。停止服务失败,将打印 [cancel] 字样,此时需要用户手动停止服务进程。
在 DMDSC 集群任一节点上执行 stop_all 命令均可停止集群中所有节点服务。
- status
查询服务状态,查询命令如下:
- restart
重启服务命令,重启命令如下:
- condrestart
condrestart 也属于重启命令,但增加了确认条件。如果服务正在运行,等同于 restart 命令。如果服务没有在运行,打印消息如下:
以脚本启动的服务日志记录在/log 目录下的日志文件中。
根据不同的阶段,产生的日志分为两种情况:
一 各服务在启动和停止过程中产生的日志,均存储在/log 目录下的 dmsvc.log(Windows)或 dmsvc_sh.log(Linux)中。
二 各服务在运行过程中产生的日志,分别存储在/log 目录下各自对应的日志文件中。各脚本服务命名规则为:服务名.log。例如:DmAPService.log、DmServiceDMSERVER.log 等。为了防止日志过大,可通过 SAVE_PROC_OUT 脚本参数设置脚本服务运行过程中产生的日志是否记录在日志文件中。
在现实使用环境中,如果 Linux(Unix)系统重启,用户希望在操作系统启动时能够自动启动某些应用程序的进程。为了达到这种功能就必须为这些应用程序编写服务脚本,并注册成操作系统服务。在以上的内容,已经讲解了 DM 所提供的服务脚本种类,参数修改和使用说明。以下内容将详细讲解把 DM 服务脚本注册成操作系统服务的方法。
DM 提供了将 DM 服务脚本注册成操作系统服务的脚本,同时也提供了卸载操作系统服务的脚本。注册和卸载脚本文件所在目录为安装目录的“/scripts/root”子目录下。
注册服务脚本为 dm_service_installer.sh,用户可以使用注册服务脚本将服务脚本注册成为操作系统服务,命令参数如下所示:
使用方法:
操作之前,需要使用 root 系统用户登录或切换至 root 系统用户。
以下示例为创建数据库实例的系统服务,数据库 dm.ini 所在路径为/opt/dmdbms/data/DAMENG/dm.ini,系统服务后缀为 DMSERVER。
1. 通过指定服务类型注册服务
命令如下:
注册脚本将注册达梦数据库实例服务 DmServiceDMSERVER。
2. 通过服务脚本文件注册服务
如果已存在修改完成的服务脚本模板。用户可通过此服务脚本文件注册操作系统随机启动服务。
命令如下:
在 Linux(Unix)系统中,init.d 和 systemd 是最常见的系统服务环境。下面以 dmserver(DmServcie)服务为例,将讲解在不同系统服务环境中手动注册服务的方法。
以下步骤将以 Red Hat Enterprise Linux 6 for x86-64 系统为例,由于不同操作系统系统命令不尽相同,具体步骤及操作请以本机系统为准,具体细节可向系统管理员咨询。
- 拷贝服务模板文件(DmService)到系统服务目录(/etc/rc.d/init.d),并将新文件命名为 DmServiceDMSERVER。
- 修改服务脚本(/etc/rc.d/init.d/DmServiceDMSERVER)配置。
其他参数请参考 1.3 服务脚本参数修改相关内容,并根据自身需求修改服务脚本配置。
- 创建启动服务的连接
- 启动停止服务。
以下步骤将以 Red Hat Enterprise Linux 7 for x86-64 系统为例,由于不同操作系统系统命令不尽相同,具体步骤及操作请以本机系统为准,具体细节可向系统管理员咨询。
1.拷贝服务模板文件(DmService)到目录(/opt/dmdbms/bin),并将新文件命名为 DmServiceDMSERVER。
- 修改服务脚本(/opt/dmdbms/bin/DmServiceDMSERVER)配置。
其他参数请参考 1.3 服务脚本参数修改相关内容,并根据自身需求修改服务脚本配置。
- 创建系统服务配置文件(/usr/lib/systemd/system/DmServiceDMSERVER.service)。文件内容,如下所示:
- 在使用服务前,需要启用服务。相关命令如下所示:
服务卸载脚本文件为 dm_service_uninstaller.sh。用户可以使用服务卸载脚本删除已经注册成操作系统服务的 DM 服务脚本,参数如下表:
使用方法:
操作之前,需要使用 root 系统用户登录或切换至 root 系统用户。
删除指定的操作系统服务。假设存在 DM 的操作系统随机启动服务 DmServiceDMSERVER,命令如下:
在 systemd 环境下,可使用 systemctl 命令进行系统服务的管理,但 systemctl 命令只能管理 systemd 环境下的系统服务。
详细用法说明如下:
- systemctl 只能停止由 systemctl 启动的系统服务及相关进程。
- systemctl 只能查询由 systemctl 启用/停止的系统服务的状态。
- systemctl 只能启用/禁用 systemd 环境下的系统服务。
- DMDSC 环境下,使用 systemctl 命令停止集群中的节点服务时,必须依次停止各个节点服务,即仅当一个服务成功停止后才能停止下一个服务。
其他情况可咨询系统管理员。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/35804.html