数据库监控功能(数据库进程守护)¶
数据库监控功能是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,两个冒号中间的为当前数据库所运行的模式,
第二个冒号后面的数字为运行模式号,运行模式与对应的模式号如下:
| 运行模式 | 模式号 | 描述 |
|---|---|---|
| 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会尝试将数据库拉起。