dmdbchk检查数据库完整性正确性- - 达梦数据库
- [1 简介](#1 简介)
- [2 使用 dmdbchk](#2 使用 dmdbchk)
- [3 dmdbchk 报告解读](#3 dmdbchk 报告解读)
- [4 达梦数据库学习使用列表](#4 达梦数据库学习使用列表)
1 简介
- dmdbchk 是 DM 提供的用于检查数据库完整性、正确性的命令行工具。在服务器正常关闭后的脱机情况下,用户可以使用 dmdbchk 对数据库进行校验,包括校验 DM 数据库内部的物理存储结构是否正常,对象信息是否合法等。
- 检验的内容具体包括三方面:
- 数据文件合法性检验。
- 索引正确性校验。
- 对象 ID 合法性校验。
- dmdbchk并不能检查出用户实际数据的正确性,如果数据文件被手动人
为修改,正好修改到的是用户数据部分,是检查不出来的。 - 校验完毕后,dmdbchk 会在当前目录下(dmdbchk 所在目录)生成一个名为dbchk_err.txt 的检查报告,供用户查看。该工具位于安装目录的dmdbms/bin 目录下
2 使用 dmdbchk
- 正常关闭服务的数据库,才能使用 dmdbchk 对数据库进行校验。
- 异常关闭的数据库无法进行效验
- 在数据库安装目录的 dmdbms/bin 目录执行命令 , dm.ini路径写实际的路径
powershell
./dmdbchk PATH=/opt/dmdba/dmdata/DAMENG/dm.ini
3 dmdbchk 报告解读
-
dmdbchk 校验的过程对用户不可见,校验的结果以报告的形式呈现给用户。
-
dmdbchk 校验数据库的报告内容分为七部分:一 dmdbchk 版本信息;二开始标志;三数据文件校验结果;四索引校验结果;五对象 ID 校验结果;六结束标志;七错误总数。
-
数据文件校验结果、索引校验结果、对象 ID 校验结果三部分内容伸缩性较大,内容多少由数据库大小决定。对于数据文件校验结果和索引校验结果,如果校验成功,直接打印出具体校验的对象;如果校验失败,则打印出具体错误信息。对于对象 ID 校验结果,如果校验成功,不打印出具体校验的对象;如果校验失败,则打印出具体错误信息。
-
关注结果是否有错误数量,若有error需要查看具体的错误位置,定位数据库错误对象,对数据库错误对象进行重建,保障数据库安全稳定运行
-
error count is 0 说明数据库检查完成,并未发现错误
[2015-12-31 16:57:30] --------check iid end---------------------
/六结束标志/
[2015-12-31 16:57:30] DM DB CHECK END....../七错误总数/
[2015-12-31 16:57:30] error count is 0