注册
达梦数据迁移工具(DTS)在 Windows 环境下的使用指南
技术分享/ 文章详情 /

达梦数据迁移工具(DTS)在 Windows 环境下的使用指南

何处惹尘埃 2026/07/31 200 0 0

一、概述

达梦数据迁移工具 DTS(Data Transformation Service)是达梦数据库官方提供的数据迁移工具,采用图形化界面和向导式操作,支持主流大型数据库迁移到 DM、DM 到 DM、文件迁移到 DM 以及 DM 迁移到文件等功能。得益于 DM 数据库对主流关系型数据库在存储层面、语法层面、接口层面的高度兼容性,借助 DTS 工具,数据移植工作可以变得非常简单。

本文档介绍在 Windows 环境下使用 DTS 完成 DM → DM 数据迁移的完整步骤。

二、准备工作

在开始迁移之前,需要完成以下准备工作:

  1. 停止对源数据库的应用写入操作
  2. 确认要迁移的用户(模式、数据库)
  3. 记录源数据库中要迁移的对象数量
  4. 记录源数据库中要迁移的所有对象名称
  5. 记录源数据库中要迁移的表的数据量(行数),便于迁移后核对
  6. 确保目标数据库实例已创建并正常运行
  7. 确认源端和目标端数据库均可正常连接

本次迁移任务

  • 迁移方式:DM → DM
  • 源端:127.0.0.1:5236(实例名 SRCSVR,数据库 SRCDB),SYSDBA/Dameng123
  • 目标端:127.0.0.1:5236(同一实例,目标模式 TEST2)
  • 迁移对象:TEST.EMPLOYEE 表(3 条记录)

三、启动 DTS

Windows 环境下启动 DTS 有以下两种方式:

方式一:通过开始菜单启动

点击 Windows 〖开始界面〗,选择〖达梦数据库〗菜单,点击〖DM 数据迁移工具〗即可进入。

方式二:通过安装目录启动

进入达梦数据库安装目录下的 tool 文件夹(如 C:\dmdbms\tool\),双击 dts.exe 运行。

方式三(可选):调整 JVM 内存参数后启动

如果虚拟机内存有限,可以通过修改 dts.ini 文件调整 DTS 的内存配置:

  1. 用记事本打开 C:\dmdbms\tool\dts.ini
  2. 添加或修改以下参数:
    -Xms256m
    -Xmx1024m
    
  3. 保存后重新启动 DTS

说明-Xms 设置 JVM 初始堆内存,-Xmx 设置最大堆内存。可根据实际物理内存情况调整。如果虚拟机内存紧张,可将 -Xmx 设为 512m 或 1024m。

四、迁移步骤

4.1 新建工程和迁移

  1. 启动 DTS 后,点击工具栏的按钮创建新的工程
  2. 输入工程名称(如 DM_DM_MIGRATE)和描述,点击〖确定〗
  3. 在工程下右键选择〖新建迁移〗,输入迁移名称(如 TEST_MIGRATE),点击〖确定〗完成创建

4.2 选择迁移方式

在迁移向导界面,选择迁移方式为 DM → DM

4.3 配置源端数据库

输入源数据库的连接信息:

配置项 填写内容
主机名 127.0.0.1
端口 5236
用户名 SYSDBA
口令 Dameng123

点击〖测试连接〗确认连接成功。

4.4 配置目标端数据库

输入目标数据库的连接信息:

配置项 填写内容
主机名 127.0.0.1
端口 5236
用户名 SYSDBA
口令 Dameng123

点击〖测试连接〗确认连接成功。

注意:源端和目标端可以相同 IP 和端口,只要目标模式不同即可。本次迁移源模式为 TEST,目标模式为 TEST2

4.5 指定模式和对象

  1. 在对象选择界面,展开源端模式列表
  2. 勾选 TEST 模式
  3. 在模式对象类型中,勾选需要迁移的对象类型(如表、视图、存储过程等)
  4. 在目的模式列,选择或输入 TEST2(目标模式)

4.6 选择迁移对象

在对象列表中,勾选需要迁移的具体表,如 EMPLOYEE

4.7 设置迁移策略

根据需要调整迁移策略:

策略项 推荐设置 说明
字符长度 x 1.0 保持原长度
主键冲突处理 不处理 空目标库时保持默认
异步索引 勾选 大数据量时提升速度
源一次读取行数 1024 可酌情调整
目的一次提交行数 1024 可酌情调整
并发数 2 可适当提高

4.8 审阅并执行

  1. 审阅任务列表中列出的所有操作
  2. 确认无误后,点击〖完成〗开始迁移
  3. 等待迁移完成,查看迁移结果

五、验证迁移结果

迁移完成后,通过以下方式验证数据完整性:

方式一:使用 disql 命令行验证

C:\dmdbms\bin\disql SYSDBA/Dameng123@localhost:5236

在 SQL 提示下执行:

SELECT * FROM TEST2.EMPLOYEE;

方式二:使用 DM 管理工具验证

  1. 启动 C:\dmdbms\tool\manager.exe
  2. 连接目标数据库(127.0.0.1:5236)
  3. 展开 TEST2 模式,查看 EMPLOYEE 表数据

验证通过后,迁移任务即告完成。

过程如图所示:
截屏20260727 16.51.23.png
截屏20260727 16.51.32.png

截屏20260727 16.51.54.png

六、虚拟机内存不足的应对措施

在虚拟机环境中运行 DTS 时,如果遇到内存不足的问题,可按以下优先级采取相应措施:

6.1 调整 DTS 的 JVM 内存参数(优先)

这是最直接有效的方法。修改 C:\dmdbms\tool\dts.ini 文件:

-Xms256m
-Xmx1024m

如果内存仍然紧张,可进一步降低:

-Xms128m
-Xmx512m

原理:DTS 是基于 Java 的 GUI 工具,通过限制 JVM 堆内存可以降低 DTS 运行时对系统内存的占用。

6.2 调整迁移并发参数

在 DTS 迁移策略中,适当降低以下参数以减少内存占用:

参数 建议值
并发数 1
源一次读取行数 500
目的一次提交行数 500

6.3 清理系统后台进程

在 Windows 任务管理器中结束不必要的后台进程(如浏览器、OneDrive、搜索应用等),释放物理内存。

6.4 增加虚拟机内存

如果上述方法仍无法满足需求,可以在虚拟机设置中增加分配给虚拟机的物理内存。建议虚拟机内存至少配置为 2GB,有条件可配置为 4GB 以上。

七、常见问题及处理

7.1 DTS 启动时闪退

现象:双击 dts.exe 后窗口一闪而过。

处理

  1. 检查 dts.ini 中的 -Xmx 参数是否过大
  2. 如果系统物理内存不足,将 -Xmx 调小(如 512m 或 256m)
  3. 关闭其他占用内存的程序后重试

7.2 迁移过程中报 Java Heap Space

现象:迁移进行到一半时报 java.lang.OutOfMemoryError: Java heap space

处理

  1. dts.ini 中适当增大 -Xmx 参数
  2. 减小迁移并发数和每批提交行数
  3. 对于大表,单独迁移并启用“异步索引”

7.3 迁移速度慢

处理

  1. 适当增加并发数(2-4)
  2. 增大“源一次读取行数”和“目的一次提交行数”
  3. 启用“快速装载”选项

7.4 目标端连接失败

处理

  1. 确认目标数据库实例已启动
  2. 检查端口是否正确(默认 5236)
  3. 确认用户名和密码正确
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服