dmdbchk 是 DM 提供的用于检查数据库完整性、正确性的命令行工具。
在服务器正常关闭后的脱机情况下,用户可以使用 dmdbchk 对数据库进行校验,包括校验 DM 数据库内部的 物理存储结构是否正常,对象信息是否合法等。除此之外,dmdbchk 工具还可以检测并删除 操作系统中残留的信号量和共享内存,避免达到操作系统上限后数据库服务无法启动。
下面例子是简单使用dmdbchk步骤:
[dmdba@dem test]$ which dmdbchk
~/dmdbms/bin/dmdbchk
[dmdba@dem test]$ dmdbchk help
[2022-06-05 21:59:26] dmdbchk V8
格式: ./dmdbchk KEYWORD=value
例程: ./dmdbchk path=/opt/dmdbms/bin/dm.ini
关键字 说明
--------------------------------------------------------------------------------
PATH dm.ini绝对路径或者当前目录的dm.ini
DCR_INI dmdcr.ini的路径
HELP 打印帮助信息
START_INDEXID 最小检查索引号
END_INDEXID 最大检查索引号
CHECK_SEMA 检查当前系统信号量使用情况(只适用于LINUX,1:只做检查 2:检查并删除残留信号量)
CHECK_SHM 检查当前系统共享内存使用情况(只适用于LINUX,1:只做检查 2:检查并删除残留共享内存)
```language
[dmdba@dem test]$ dmdbchk path=/home/dmdba/dmdbms/data/test/dm.ini
[2022-06-05 22:00:18] dmdbchk V8
[2022-06-05 22:00:18] file dm.key not found, use default license!
Can not open ini file dmdcr.ini!
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
ndct db load finished
[2022-06-05 22:00:18] dmserver is running or exited abnormally. can not do check
上面显示数据库运行状态,不可以做dmdbchk。
关闭数据库服务
[dmdba@dem bin]$ ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
[dmdba@dem bin]$ dmdbchk path=/home/dmdba/dmdbms/data/test/dm.ini
......
[2022-06-05 22:19:06] --------check iid start-------------------
[2022-06-05 22:19:06] check cons id ...
[2022-06-05 22:19:06] check index id ...
[2022-06-05 22:19:06] check table id ...
[2022-06-05 22:19:06] check proc id ...
[2022-06-05 22:19:06] check schema id ...
[2022-06-05 22:19:06] check synonym id ...
[2022-06-05 22:19:06] check user id ...
[2022-06-05 22:19:06] --------check iid end---------------------
[2022-06-05 22:19:06] DM DB CHECK END......
[2022-06-05 22:19:06] error count is 0
社区地址:https://eco.dameng.com
文章
阅读量
获赞