DM数据库 dmdbchk 工具


一、dmdbchk概述

dmdbchk 工具在安装目录的/dmdbms/bin 目录下,是 DM 提供的用于检查数据库完整性、正确性的命令行工具。

在数据库正常关闭后的脱机情况下,用户可以使用 dmdbchk 对数据库进行校验,包括校验 DM 数据库内部的物理存储结构是否正常,对象信息是否合法等。

检验的内容具体包括三方面:

  1. 数据文件合法性检验。
    数据文件校验只校验数据文件大小。如果数据库文件实际大小大于或等于文件头中记录的大小,则合法。
  2. 索引正确性校验。
    索引检验包括:普通表 B 树索引校验、LIST 表扁平 B 树索引校验、列存储表索引校验。校验内容具体包括:B 树的层次、层次关系,每层的内部页、叶子页以及页之间的前后链接关系,每个页的页头信息(如页类型等)等。
  3. 对象 ID 合法性校验。
    对象 ID 校验包括数据库内的所有对象的 ID 检验。对象包括:索引、表、约束、存储过程、模式、同义词、用户等。如果从系统表中查出的对象 ID 小于库的 ID 预留页中记录的该类型对象的下一分配 ID,则合法。因为库的 ID 预留页中记录的是各类型对象下一个新分配对象将使用的 ID,因此若系统表中的对象 ID 大于或等于该 ID,说明库已损坏。

dmdbchk并不能检查出用户实际数据的正确性,如果数据文件被手动人为修改,正好修改到的是用户数据部分,是检查不出来的。
校验完毕后,dmdbchk 会在当前目录下(dmdbchk 所在目录)生成一个名为dbchk_err.txt 的检查报告,供用户查看。


二、dmdbchk 示例

1.查看dmdbchk工具的帮助

./dmdbchk help

在这里插入图片描述

2.使用dmdbchk工具

dmdbchk 校验的过程对用户不可见,校验的结果以报告的形式呈现给用户。
dmdbchk 报告内容分为七部分:一 dmdbchk 版本信息;二开始标志;三数据文件校验结果;四索引校验结果;五对象 ID 校验结果;六结束标志;七错误总数。

注意:只有初始化且正常关闭的数据库,才能被 dmdbchk 工具校验,否则 dmdbchk 会报错退出。

异常关闭,无法使用dmdbchk工具:

./dmdbchk path=/opt/dmdbms/data/DAMENG/dm.ini

在这里插入图片描述

#正常关闭库,可以使用:

./DmServiceDMSERVER start
./DmServiceDMSERVER stop
./dmdbchk path=/opt/dmdbms/data/DAMENG/dm.ini

在这里插入图片描述
在这里插入图片描述
查看生成的检查报告:

cd /opt/dmdbms/bin
ls -l | grep dbchk

在这里插入图片描述
dbchk_err.txt 文件里的内容和屏幕输出一样。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值