达梦数据库——命令行工具dmdbchk使用方法介绍
1 功能简介
dmdbchk是DM提供的用于检查数据库完整性、正确性的命令行工具。在服务器正常关闭后的脱机情况下,用户可以使用dmdbchk对数据库进行校验,包括校验DM数据库内部的物理存储结构是否正常,对象信息是否合法等。除此之外,dmdbchk工具还可以检测并删除操作系统中残留的信号量和共享内存,避免达到操作系统上限后数据库服务无法启动。
检验的内容具体包括三方面:
- 数据文件合法性检验。
- 索引正确性校验。
- 对象ID合法性校验。
- 残留信号量和共享内存的检测及删除。
2 使用dmdbchk
dmdbchk工具需要从命令行启动。找到dmdbchk所在安装目录/dmdbms/bin,输入dmdbchk和参数后回车。
例如,正常关闭/home/test/dmdbms目录下数据库后,使用dmdbchk对数据库进行校验。
./dmdbchk PATH=/home/test/dmdbms/dm.ini
如果dm.ini在dmdbchk当前目录,也可以写成这样:
./dmdbchk PATH=dm.ini
3 应用实例
例1 :初始化一个数据库,并创建DM的示例库BOOKSHOP,正常关闭后,使用dmdbchk工具对该库的数据文件进行校验。
./dmdbchk PATH=/home/test/dmdbms/dm.ini START_INDEXID=33554433 END_INDEXID=33555531
校验后的报告存在dmdbchk工具所在的目录里,名称为dbchk_err.txt。报告内容如下:
> /**一dmdbchk版本信息**/ [2015-12-31 16:57:29] dmdbchk
> V7.1.5.42-Build(2015.12.30-64335trunc) /**二开始标志**/ [2015-12-31
> 16:57:30] DM DB CHECK START...... /**三数据文件校验结果**/ [2015-12-31
> 16:57:30] --------check dbf file size start--------- [2015-12-31
> 16:57:30] FILE=(ts_id=0, fil_id=0, path=D:\xx\DAMENG\SYSTEM.DBF)
> [2015-12-31 16:57:30] FILE=(ts_id=1, fil_id=0,
> path=D:\xx\DAMENG\ROLL.DBF) [2015-12-31 16:57:30] FILE=(ts_id=4,
> fi