数据库监控功能(数据库进程守护)

数据库监控功能是agent可以对配置的数据库实例是否在运行进行监控,如果数据库被异常终止,则会将数据库实例拉起。正常通过服务方式停止数据库,agent不会拉起数据库。 Agent可通过配置文件中相关字段控制对数据库的监控,相关控制参数如下:

  • DBMONITOR_ENABLE 是否启用agent的数据库监控功能;
  • DBMONITOR_DBNAME 数据库要监控的数据库名称,多个以“,”分隔,当前最大支持同时监控64个数据库;
  • DBMONITOR_STARTFAILED_MAXNUM 数据库启动失败最大次数,超过此时未拉起,将不再拉起。
  • DBMONITOR_START_SERVICE_DEDICATED 数据库在专用机环境下服务启动;
  • DBMONITOR_START_SERVICE_WAY 数据库启动方式,此参数只在linux平台有效,0:以服务方式启动 1:以命令行方式启动

该功能默认关闭,agent通过读取神通数据库安装目录下admin目录中对应[实例名.db]文件获取数据库进程状态信息,如图下图所示为数据库osrdb的db文件,第一个冒号前的数字为数据库的pid,两个冒号中间的为当前数据库所运行的模式,

../../../../_images/monitor_1.png

第二个冒号后面的数字为运行模式号,运行模式与对应的模式号如下:

运行模式 模式号 描述
SYSUNKNOWN 0 系统处于未知状态
SYSOPEN 10 系统处于正常运行状态
SYSOPENING 20 系统正在打开过程中
SYSMOUNT 30 database已经mount但尚未open
SYSMOUNTING 40 database正在mount
SYSDISMOUNTING 50 database正在dismount
SYSNOMOUNT 60 系统已经启动,但尚未mount数据库
SYSSTARTINGUP 70 系统正在启动
SYSCLOSING 80 系统正在关闭
SYSSHUTDOWN 90 系统尚未启动
SYSABORTEXIT 100 系统正处于shutdown abort过程中
SYSNORMEXIT 110 系统正处于shutdown normal过程中
SYSTRANSEXIT 120 系统正处于shutdown transactional过程中
SYSIMMEDEXIT 130 系统正处于shutdown immediate过程中
SYSCTRLCEXIT 140 系统处于ctrl-c关闭过程
SYSSIGNALUSER 150 系统进入单用户模式
SYSWARMUP 160 系统进入预热状态
SYSMULTIUSER 170 系统进入多用户模式
SYSCRASH 180 系统故障宕机

备注如果数据库进程文件的状态为SYSCRASH,agent会尝试将数据库拉起