1、达梦是否能够进行数据库完整性校验?

        可以的,达梦数据库提供了dmdbchk工具用于检查数据库完整性、正确性的命令行工具。 在服务器正常关闭后的脱机情况下, 用户可以使用 dmdbchk 对数据库进行校验,包括校验 DM 数据库内部的物理存储结构是否正常,对象信息是否合法等。

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

        1、数据文件合法性检验

        数据文件校验只校验数据文件大小。 如果数据库文件实际大小大于或等于文件头中记录的大小,则合法。

        2、索引正确性校验

        索引检验包括: 普通表 B 树索引校验、 LIST 表扁平 B 树索引校验、列存储表索引校验。校验内容具体包括: B 树的层次、 层次关系,每层的内部页、叶子页以及页之间的前后链接关系, 每个页的页头信息(如页类型等)等。

        3、对象ID合法性校验

        对象 ID 校验包括数据库内的所有对象的 ID 检验。 对象包括: 索引、表、约束、存储过程、模式、同义词、用户等。 如果从系统表中查出的对象 ID 小于库的 ID 预留页中记录的该类型对象的下一分配 ID,则合法。因为库的 ID 预留页中记录的是各类型对象下一个新分配对象将使用的 ID,因此若系统表中的对象 ID 大于或等于该 ID,说明库已损坏。

注意:

        dmdbchk并不能检查出用户实际数据的正确性,如果数据文件被手动人为修改,正好修改到的是用户数据部分,是检查不出来的。

2、如何使用达梦数据库校验工具?

       达梦数据库校验需要在数据库服务正常关闭后进行,进入数据库程序目录bin下,输入./dmdbchk path=dm.ini路径,例如数据文件目录为/opt/dmdbms/data,则应该输入./dmdbchk path=/opt/dmdbms/data/DAMENG/dm.ini,校验完毕后,dmdbchk会在当前目录下(dmdbchk所在目录)生成一个名为dbchk_err.txt的检查报告,供用户查看。

posted on 2020-11-27 16:07  琦妮  阅读(1045)  评论(0编辑  收藏  举报