DMDUL:达梦数据库离线抽取数据工具

发布时间:2026/7/5 3:15:00
DMDUL:达梦数据库离线抽取数据工具 项目简介DMDUL是一个面向达梦数据库的数据文件离线分析与数据抽取工具。项目目标是在数据库无法正常打开、实例无法正常启动、系统表空间或用户表空间需要离线分析时通过读取达梦数据库相关文件辅助完成对象识别、表结构分析、数据页扫描和数据导出。项目地址GitHubGitHub - greatfinish/dmdul: 达梦数据库离线抽取工具 · GitHubRelease 下载https://github.com/greatfinish/dmdul/releases适用场景DMDUL 主要适用于以下场景达梦数据库实例无法正常打开需要离线分析数据文件中的对象信息需要辅助识别表、字段、索引、页类型等内部结构需要在恢复、取证、测试或研究环境中抽取部分数据需要验证达梦数据文件页级结构和系统字典信息。注意DMDUL 是离线分析和辅助恢复工具不应替代正式备份恢复方案。生产环境操作前请优先保留原始数据文件副本。功能特性当前工具重点能力包括功能说明控制文件分析读取达梦控制文件中的部分结构信息表空间识别辅助识别 SYSTEM、ROLL、MAIN 等表空间信息系统字典扫描离线扫描系统字典对象表结构识别辅助识别表、字段、对象号等信息页级扫描识别数据页、索引页和候选对象数据抽取从候选数据页中抽取可识别记录交互模式提供 REPL 风格的交互式操作文档说明提供安装、使用、配置、开发和离线扫描说明安装方式下载 Release前往 GitHub Release 页面下载对应版本https://github.com/greatfinish/dmdul/releasesWindows 环境可以下载编译好的dmdul.exe。源码编译git clone https://github.com/greatfinish/dmdul.git cd dmdul go test ./... go build -o bin/dmdul.exe ./cmd/dmdulLinux 环境可以编译为go build -o bin/dmdul ./cmd/dmdul基本使用查看帮助dmdul --help进入交互模式dmdul示例操作流程1. 指定控制文件和数据文件路径 2. 扫描表空间和系统字典 3. 识别对象和表结构 4. 确认目标表对象号 5. 扫描候选数据页 6. 导出识别到的数据推荐工作流程生产故障场景下建议采用以下流程原始文件只读保留 ↓ 复制数据文件到分析环境 ↓ 使用 DMDUL 离线扫描 ↓ 识别表空间和系统字典 ↓ 定位目标表对象 ↓ 页级扫描和样例验证 ↓ 导出可恢复数据风险提示使用 DMDUL 前请注意不要直接在生产原始文件上操作先复制控制文件、数据文件到独立分析目录工具输出结果需要结合实际数据库版本和文件状态判断对损坏页、未识别页、索引页、LOB 页等场景需要谨慎验证离线抽取结果不等价于完整一致性恢复结果。项目定位DMDUL 当前定位是达梦数据库离线数据文件分析与数据抽取辅助工具它更适合用于数据恢复辅助数据库内部结构学习故障场景验证页级结构分析DBA 工具实验。不建议将其作为常规备份恢复手段。后续计划后续计划逐步增强更多页类型识别更完善的字段类型解析更友好的导出格式更完整的字典对象映射更丰富的异常文件兼容能力Linux / Windows 双平台 Release 自动构建。参与项目欢迎通过 GitHub 提交 Issue、建议或 Pull Requesthttps://github.com/greatfinish/dmdul如果你在达梦数据库恢复、数据文件分析、页级结构识别方面有测试案例也欢迎一起完善这个工具。