首页/系统/信创系统运维速查/达梦 disql 常用操作
迁移适配65 条

达梦 disql 常用操作

disql 是达梦命令行客户端:登录、执行 SQL、跑脚本;迁移核验时用它统计对象数与行数与源库对账。

信创系统运维速查系统更新于 2026-10-13

disql 是什么

disql 是达梦数据库自带的命令行客户端,位于安装目录的 bin 下,用于登录实例、交互执行 SQL、跑脚本文件。迁移验收与日常巡检中,它是核对对象数量、表行数、索引与约束是否与源库一致的常用工具,不依赖任何图形客户端。

脚本化的价值

人工登录逐个敲命令既慢又容易遗漏,disql 支持把 SQL 写进脚本批量执行并输出结果,便于把对账项固化成可重复运行的检查集。迁移项目里,把核验语句整理成脚本并归档输出,比口头确认更能支撑验收结论。

基本信息

所属产品达梦数据库(DM8 等版本)
程序位置安装目录下的 bin 目录,如 /opt/dmdbms/bin/disql
默认端口5236,以实际实例配置为准
权限要求使用具备查询权限的数据库账号登录

典型使用场景

  • 迁移后核对表、索引、约束数量是否与源库一致
  • 快速查一条业务数据确认迁移结果正确
  • 批量执行核验 SQL 并把输出留档作为验收材料
  • 故障排查时查看实例内当前会话与对象状态
  • 日常运维中做结构变更前后的对象清单比对

登录与交互

登录与交互
cd /opt/dmdbms/bin
./disql SYSDBA/口令@localhost:5236        # 按实际账号与端口登录
# 登录后可直接执行单行 SQL:
# SELECT COUNT(*) FROM dba_tables;
# DESC 表名;            查看表结构
# EXIT                  退出交互

脚本化执行

脚本化执行
echo 'SELECT COUNT(*) FROM T1;' > /tmp/check.sql
./disql SYSDBA/口令@localhost:5236 -e "SELECT COUNT(*) FROM dba_tables;"   # 语法按版本核对
./disql SYSDBA/口令@localhost:5236        # 登录后用 start /tmp/check.sql 执行脚本
# 输出重定向留档:> /var/log/dm/check-$(date +%F).log

迁移对账常用核对项

核对项目的说明
对象数量确认表、视图、序列未遗漏与源库按类型分别统计
表行数确认数据完整搬移大表可比对总数与抽样记录
索引与约束确认性能与业务规则未丢迁移工具常在此处有差异
字符集与排序确认中文与排序行为一致影响检索结果与唯一性判断
作业与定时任务确认调度一并迁移容易漏项,需单独清点
口令不要散落在脚本与命令历史里:走受控的配置文件或环境变量,并在交付文档中记录脚本化执行的语法,不同版本的参数写法存在差异,上线前先在测试库验证。

易错点

  • 迁移对账只看行数:主键、索引、约束数量不比对,性能与业务规则问题会在上线后暴露
  • 口令直接写在命令行里,会留在历史记录与进程列表中,存在泄露风险
  • 把客户端元命令混进脚本文件执行,报语法错误,脚本里只保留标准 SQL
  • 对账查询放在业务高峰跑全表统计,占用大量 IO 与连接,影响在线业务

数据来源与参考

  • 达梦数据库命令行工具文档(公开资料)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌