巡检在YashanDB中为一个单独的后台线程,该线程类似于巡逻小队,不断地监控数据库的运行状况。当发生严重错误时,收集诊断数据存储在自动诊断存储库中,并且触发相应的修复手段或者限制损坏及中断。 巡检主要包含如下内容:
- 监控数据库文件
- 发生严重错误时触发健康检查
- 监控同步备库(最大保护模式)
#文件监控
YashanDB的后台文件都存储着重要的信息,部分文件丢失可能导致数据库无法正常使用。此外,用户不可以手动改动数据库的文件,如数据文件被改动可能造成各种影响,系统需要对此及时响应避免造成更大的损坏及中断,共享集群模式下该功能禁用。
文件监控的范围
控制文件、数据文件、redo文件,如果开启双写也将监控双写文件。
文件监控的异常操作
- 文件元数据的变动:文件权限、文件用户及用户组以及时间戳等。
- 文件被删除:文件直接被删除,例如:rm命令等。
- 文件名被修改或者文件被移动:文件名称被修改或者修改文件的路径,例如:mv命令等。
- 文件系统被卸载:文件所在的磁盘被卸载或者时磁盘损坏无法装载。
异常响应
检测到数据库文件存在异常时,触发事件警报,收集事件诊断数据,并且触发反应式健康检查,将诊断数据存储在自动诊断存储库中。
故障处理
出现数据文件、redo文件被删除或者被移动等操作时,系统将数据库的状态置为ABNORMAL,数据库处于只读状态,用户执行业务报错,等待DBA介入修复故障。
下面以数据文件hm_test丢失时,文件监控的诊断数据为例:
-- 事件警报,通过V$DIAG_INCIDENT查看,输出信息如下
SELECT incident_id, session_id, error_number, error_argument, error_comments FROM V$DIAG_INCIDENT;
INCIDENT_ID SESSION_ID ERROR_NUMBER ERROR_ARGUMENT ERROR_COMMENTS
------------ ------------ ------------ ----------------- ----------------------------------------------------------------
11 12 107 data file [MONITOR] /data/yashan/dbdata/dbfiles/hm_test does not exist and may have been deleted
12 12 108 data file [MONIT

最低0.47元/天 解锁文章
219

被折叠的 条评论
为什么被折叠?



