YashanDB提供健康检查框架,用于数据库运行诊断检查。
健康检查也称为检查器,检查数据库的各个组件,如检测文件损坏、数据块损坏、redo日志损坏等,并生成一份报告,记录发现的错误以及错误带来的影响。
可以通过如下两种方式运行健康检查:
- 反应式——故障诊断架构自动运行健康检查以响应严重错误。
- 手动——使用内置高级包手动运行健康检查。如有需要,可以通过定义JOB定期运行健康检查。
健康检查执行的结果将存储在自动诊断存储库中。 健康检查必须在数据库为OPEN模式或者MOUNT模式下运行。
健康检查项
数据库结构完整性检查
此检查验证数据库文件的完整性,在检查到数据库文件(控制文件、redo文件、数据文件、归档文件)不可访问、损坏或不一致时报告失败。
数据块完整性检查
此检查可检测磁盘映像块损坏,例如checksum失败、头尾不匹配以及块内的逻辑不一致。对于页面损坏,通常可以通过备库或者是页面修复工具来修复。
单个数据文件检查
此检查可检测数据文件可访问性,例如数据文件所有的块损坏,包含有效的块可未使用的块等。
redo完整性检查
此检查可检测数据库的一致性和所有的redo文件的头部信息,避免数据库重启后无法恢复到一致性点,数据库不可用。
单个redo文件检查
此检查可检测单个redo文件的可访问性和redo块损坏。
归档日志文件检查
此检查检测单个归档日志文件的可访问性和内容损坏。
死锁检测检查
此检查项检测用户行为上的事务死锁,在检测出死锁后会在trace目录下(按seesion id的trace文件)报告出具体的死锁环信息,即Wait-For-Graph(WFG)。
手动运行健康检查
用户可以手动调用DBMS_HM.RUN_CHECK程序运行健康检查,该程序需提供运行状况检查名称和运行的名称(自定义),如下所示:
BEGIN
DBMS_HM.RUN_CHECK('DB Structure Integrity Check', 'my_run', NULL);
END;
/
若要获取运行状况检查名称的列表,请运行以下查询:
SELECT name FROM V$HM_CHECK;
输出的内容如下:
NAME

最低0.47元/天 解锁文章
1306

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



