dmdbchk
dmdbchk 是达梦数据库提供的命令行工具,用于检查数据库完整性和正确性。该工具可在数据库正常关闭后的离线状态下进行校验,也支持在数据库运行时对单个数据文件进行校验。
校验内容包括五方面:
1. 数据文件合法性检验
校验数据文件大小。如果实际文件大小大于或等于文件头中记录的大小,则合法。
2. 索引正确性校验
包括普通表 B 树索引、LIST 表扁平 B 树索引、列存储表索引的校验。内容包括 B 树层次关系、页面链接、页头信息等。
3. 对象 ID 合法性校验
校验数据库内所有对象(索引、表、约束、存储过程、模式、同义词、用户等)的 ID。
4. 指定页校验
通过 PAGES_FILE 参数指定需要校验的页信息。
5. 残留信号量和共享内存的检测及删除
检测并删除 Linux 系统中残留的信号量和共享内存,防止达到操作系统限制。
注意
dmdbchk 无法检查用户实际数据的正确性,若数据被手动修改到用户数据部分,检查不出来。
校验完成后生成 dbchk_err.txt 检查报告,以及 dbchk_err_pages.txt 损坏页检测报告。
工具位于安装目录的 /dmdbms/bin 目录下。