#应用实例
#例 1:校验指定范围的索引
./dmdbchk PATH=/home/test/dmdbms/dm.ini START_INDEXID=33554433 END_INDEXID=33555531报告示例输出:
[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] --------check indexes start---------------
[2015-12-31 16:57:30] INDEX=(id=33554433, name=SYSINDEXCOLUMNS, table_name=SYSCOLUMNS)
...
[2015-12-31 16:57:30] --------check iid start-------------------
[2015-12-31 16:57:30] DM DB CHECK END......
[2015-12-31 16:57:30] error count is 0#例 2:检测 Linux 系统信号量
./dmdbchk CHECK_SEMA=1检测信号量使用情况,报告包含信号量 ID、状态及操作时间信息。
#例 3:删除残留信号量
./dmdbchk CHECK_SEMA=2检测并删除 Linux 系统中的残留信号量。报告示例:
[2018-11-05 14:54:47] get semid 40992768(key:0xcc020ab4) current value:0, delete it success!
[2018-11-05 14:54:47] total_cnt:3, active_cnt:0, need_del:3, real_del:3, del_err_cnt:0!#例 4:检测指定的数据页
./dmdbchk PATH=E:\break13\DAMENG\dm.ini PAGES_FILE=E:\break13\DAMENG\pages.txtpages.txt 内容:
#需要校验的所有页号
page(5, 0, 49)
page(5, 0, 50)
page(5, 0, 51)
page(5, 0, 52)
page(500, 0, 52)
page(5, 0, 30), page(5, 0, 31), page(5, 0, 32)报告输出示例:
[2024-12-27 14:28:42]dmdbchk V8
[2024-12-27 14:28:43]--------check pages file start---------
[2024-12-27 14:28:43][CHK] dbchk check_one_page error. page(5, 0, 49) data check error
[2024-12-27 14:28:43][CHK] dbchk check_one_page error. page(5, 0, 50) data check error
[2024-12-27 14:28:43][FAILED] fsm_check_page_validate page(500, 0, 52) is invalidate
[2024-12-27 14:28:43]--------check single dbf file end-----------
[2024-12-27 14:28:43]DM DB CHECK END......
[2024-12-27 14:28:43]
Checked Files Total: 0
Checked Indexes Total: 0
Error Indexes Total: 0
Checked Pages Total: 8
Corrupted Pages Total: 0
Data Error Pages Total: 3
Invalidate Pages Total: 3