数据库健康状况检查和自修复
此功能可自动检查数据库架构的状态,在某些情况下,会执行其他自修复操作,以使其达到预期引用状态。这将替换
Codebeamer 22.04 之前版本中提供的
索引完整性检查器。
触发健康状况检查
健康状况检查将在每天午夜后定期进行 5 分钟,可由系统管理员在“系统管理”►“数据库性能作业”页面上,通过单击“重新检查数据库健康状况”链接手动触发。检查在后台进行,大约在 1 分钟内完成。
如果发现问题,刷新页面后,系统会通知用户:“检测到数据库健康状况不理想。请联系支持部门帮助解决此问题。”
有关要采用的步骤的详情,请参阅:
如何修复数据库健康状况检查问题。
健康状况检查器会验证哪些内容?
经验证的数据库对象列表如下:
• 数据库表 (包括列数据类型、约束)。
• 索引 (覆盖列列表并已排序)。
• 序列 (包含起始值和当前值)。
健康状况检查器还会收集未被识别且可能对应用程序性能产生负面影响的任何其他元素。
自修复程序何时运行? 会产生哪些影响?
在下列任一情况下,自修复程序将自动运行:
• 修补程序文件已执行且数据库版本已更改,即数据库已升级。
• 当前数据库迁移自另一个数据库。
|
|
自修复程序 Codebeamer 只能在应用程序开始向用户提供请求之前运行。在正常 Codebeamer 操作期间,只能运行健康状况检查器。
|
自修复不会影响数据,因为健康状况检查仅检查数据库结构。生成的语句仅执行可安全运行的架构替代。
如果由于错误而无法完成自修复,则在下次升级之前,系统不会再尝试修复数据库。在这种情况下,用户必须手动进行干预。
Codebeamer 仍将启动并变为可访问状态,但无法保证最佳性能。建议联系
Codebeamer 支持部门以获取详细说明 (请参阅:
如何修复数据库健康状况检查问题)。
检查健康状况检查器的输出
健康状况检查的结果记录在应用程序日志中。
如果数据库处于健康状况,则日志中会显示以下两行:
2022-01-24 10:44:42,416 INFO upgradeLogger - Checking database health... <thread info>
2022-01-24 10:44:45,223 INFO upgradeLogger - Database is healthy. <thread info>
出现问题时,日志中会记录较长的日志条目:
2022-05-23 09:19:59,500 WARN rdbms.health.DatabaseHealthCheckJob - Database health check validation result:
<report of database objects with differences>
Database self healing dry-run script output:
<generated dry run SQL script>
保存此日志条目,因为其对于 Codebeamer 支持团队修复数据库至关重要。
如何修复数据库健康状况检查问题
如果自修复程序无法修复数据库,则没有其他自动方法用于修复数据库状态。需要手动干预。请联系 Codebeamer 支持团队并附加健康状况检查器输出。
如果未找到此输出,请手动运行健康状况检查 (
触发健康状况检查)。然后,提取包括干运行 SQL 脚本的健康状况检查报告输出 (
检查健康状况检查器的输出),并将其随支持请求一起发送。