配置单实例本地守护后,当单实例数据库故障导致服务进程中断时,达梦数据守护进程会尝试将数据库服务进程拉起,如果可以拉起并正常对外提供服务,可以一定程度上降低系统风险,减少损失,避免数据库的异常宕机问题。以下是简单配置方法:

本文目录规划:

数据库软件安装目录:/dm8/dmdbms

数据库及数据文件目录:/dmdata

1.初始化数据库

su - dmdba
cd /dm8/dmdbms/bin
./dminit path=/dmdata/ page_size=32 extent_size=32 charset=0 log_size=2048 db_name=DAMENG

2.注册数据库服务

su - root
cd /dm8/dmdbms/script/root
./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /dmdata/DAMENG/dm.ini

3.前台启动数据库,查看是否异常(该步骤实际可忽略)

su - dmdba
cd /dm8/dmdbms/bin
./dmserver /dmdata/DAMENG/dm.ini

4.启动到mount状态,配置oguid

数据库初始化后,默认数据库oguid为0,此处也可不单独设置oguid,如果未设置,则配置dmwatcher.ini时参数INST_OGUID需配置为0

su - dmdba
cd /dm8/dmdbms/bin
./disql SYSDBA/SYSDBA@LOCALHOST:5236
SQL> alter database mount;
SQL> sp_set_oguid(20221229);

5.停库,修改dm.ini配置文件

su - dmdba
vim /dmdata/DAMENG/dm.ini
MAL_INI=1 #将该值修改为1
ARCH_INI=1 #将该值修改为1

6.修改dmmal.ini配置文件

su - dmdba
vim /dmdata/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL=10
MAL_CONN_FAIL_INTERVAL=10
[MAL_INST]
MAL_INST_NAME=DMSERVER
MAL_HOST=10.10.10.13
MAL_PORT=61141
MAL_INST_HOST=192.168.10.13
MAL_INST_PORT=5236
MAL_DW_PORT=52141
MAL_INST_DW_PORT=33141

7.修改dmwatcher.ini配置文件

su - dmdba
vim /dmdata/DAMENG/dmwatcher.ini
[GRP1]
DW_TYPE = LOCAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_ERROR_TIME = 10
INST_OGUID = 20221229 #如果未单独设置过数据库OGUID,则此处应为0
INST_INI = /dmdata/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/dmdbms/bin/DmServiceDMSERVER start

8.注册守护服务

su - root
cd /dm8/dmdbms/script/root
./dm_service_installer.sh -t dmwatcher -p DMSERVER -watcher_ini /dmdata/DAMENG/dmwatcher.ini

9.启动数据库服务

su - dmdba
cd /dm8/dmdbms/bin
./DmServiceDMSERVER start

10.启动守护服务

su - dmdba
cd /dm8/dmdbms/bin
./DmWatcherServiceDMSERVER start

11.模拟实例故障,查看是否会自动重启

--强制杀死数据库进程
pgrep dmserver|xargs kill -9
--检查进程是否存在或是否重启
ps -ef|grep dmserver