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 目录下。