Oracle 到达梦实操教程:用 DataMover 一步一步跑通全量迁移

这篇教程面向已经明确要做 Oracle 到达梦迁移的实施人员,直接演示如何用 DataMover 配置源端、目标端、普通任务、字段映射和执行监控,并完成最基本的行数与时间范围校验。适合先做 2 到 3 张典型表试迁,再逐步放大到正式环境。

这篇教程会带你完成什么

开始前准备

在正式操作前,先确认这些最小前提:

建议先只选 2 到 3 张典型表,不要一开始就把全部业务表放进去。优先选:

第一步:部署或登录 DataMover

如果当前环境还没有 DataMover,可以先准备一套测试环境。最快的方式是用 Docker 部署,安装包和文档入口如下:

如果环境已经准备好,直接访问 DataMover 管理界面,登录后会看到:

这篇教程的操作主要在“数据源管理”和“任务管理”里完成。

第二步:配置 Oracle 源端数据源

页面入口:

数据源管理 -> 新增数据源

在新增表单里完成下面几项:

这一页最重要的不是一次填全,而是先保证“测试连接”通过。

建议重点检查:

测试连接通过后再保存。
如果这里都连不上,后面的任务创建不要继续。

截图预留:Oracle 源端数据源配置页

补图说明:建议截图内容包括 Oracle 类型选择、连接参数区、测试连接按钮、测试成功提示。

第三步:配置达梦目标端数据源

页面入口同样是:

数据源管理 -> 新增数据源

这次数据源类型选择 达梦(DM),然后填写:

这一步要额外确认两件事:

如果目标库里已经有历史表,不要先急着跑任务,要先确定后面是写已有表、写新表,还是只做结构验证。

截图预留:达梦目标端数据源配置页

补图说明:建议截图内容包括达梦数据源配置、角色选择、连接测试结果。

第四步:创建 Oracle 到达梦普通任务

页面入口:

任务管理 -> 新建任务

在新建任务页面依次完成:

  1. 填任务名称
    建议任务名称直接带源库、目标库和用途,例如:oracle_to_dm_demo

  2. 选择任务类型
    这篇教程先选 普通任务,不选 实时任务

  3. 选择源端数据源
    选刚才配置好的 Oracle 数据源

  4. 选择目标端数据源
    选刚才配置好的达梦数据源

保存后进入下一步,进入表映射和选表页面。

截图预留:新建任务页面

补图说明:建议截图内容包括普通任务选择、Oracle 源端选择、达梦目标端选择。

第五步:选择试迁表

页面进入表映射后,先不要把所有表都选上。更适合先选 2 到 3 张典型表,例如:

这么做的目的不是省事,而是先把兼容问题集中暴露出来。如果这几类表能跑通,再扩到更多表会稳很多。

选表后,DataMover 会为每张源表生成对应的同步任务,并为目标端准备目标表和默认字段映射。

截图预留:选表页面

补图说明:建议截图内容包括源端表树、已选试迁表、目标端 Tab。

第六步:检查字段映射和目标表

这是整篇教程最关键的一步。

页面入口:

表映射页 -> 目标端 Tab -> 字段映射

这里至少要看下面这些内容:

字段/对象在页面里看哪里要确认什么
NUMBER(p,s) 字段字段映射列表里的目标字段类型金额、费率、编码类字段的精度和长度是否合理
DATE 字段字段映射列表业务是否把它当成“带时间”的字段使用
TIMESTAMP 字段字段映射列表精度和排序逻辑是否需要单独校验
主键字段目标字段属性主键是否正确映射,目标表是否还保留主键逻辑
序列相关表目标表和主键字段迁移后是否还需要校准序列

如果目标表不存在,DataMover 会基于源表结构生成目标表配置。
如果目标端已存在同名表,DataMover 不会默认直接覆盖同名表,这一点要提前看清楚,避免误以为会直接写到业务正式表。

对于 Oracle 到达梦试迁,建议在这一步重点检查:

截图预留:字段映射页

补图说明:建议截图内容包括字段映射连线、目标字段类型、主键标记、目标表名称。

Oracle 到达梦字段类型与对象对照图

第七步:配置同步模式

这篇教程先跑 全量迁移,所以选择普通任务里的全量模式即可。

页面入口:

同步策略配置

这一步建议这样处理:

为什么不建议一开始就调很多参数:

只有当单表数据量明显很大、而且已经确认字段类型和目标表没问题时,再考虑分片字段和更大的批量参数。

截图预留:同步策略配置页

补图说明:建议截图内容包括全量模式、批大小、清空目标表选项或相关配置区。

第八步:启动任务并看执行监控

页面入口有两个:

启动时会选择执行器节点。
如果当前只有一个可用 Worker,直接选择在线节点即可。

任务启动后,重点看这些信息:

如果任务失败,不要只看一个“失败”状态,要立刻做两件事:

  1. 进入任务详情页看失败任务是哪张表
  2. 下载日志,看是字段映射问题、类型问题,还是目标端写入失败

这一步不要只盯“任务是否完成”,更要看输入输出数量和失败表。

截图预留:任务详情与执行监控页

补图说明:建议截图内容包括任务状态、采集行数、输出行数、失败状态、日志入口。

第九步:做 SQL 校验

跑完后至少做下面三类校验。

1. 行数校验

SELECT COUNT(*) FROM source_table;
SELECT COUNT(*) FROM target_table;

2. 时间范围校验

SELECT MIN(update_time), MAX(update_time) FROM source_table;
SELECT MIN(update_time), MAX(update_time) FROM target_table;

3. 抽样校验

SELECT * FROM source_table WHERE id IN (1, 100, 1000);
SELECT * FROM target_table WHERE id IN (1, 100, 1000);

如果是金额敏感表,再补一组聚合校验:

SELECT status, COUNT(*) AS cnt, SUM(amount) AS total_amount
FROM source_table
GROUP BY status
ORDER BY status;

这一步的目标不是证明“任务跑过了”,而是证明“迁移结果可以被业务接受”。

跑这篇教程最常见的 3 个问题

问题 1:数据源能保存,但任务执行时报表不存在

可能原因:

处理步骤:

问题 2:全量任务完成了,但切换后新数据写不进去

可能原因:

处理步骤:

问题 3:行数一致,但金额或时间字段对不上

可能原因:

处理步骤:

Oracle 到达梦常见问题排障图

跑通之后,下一步做什么

如果这轮试迁已经跑通,下一步不要立刻全量铺开,建议按这个顺序继续:

  1. 扩到更多业务表
  2. 对核心表补更细的聚合和抽样校验
  3. 如果切换前还要追平变化,再评估增量字段同步或实时同步
  4. 正式上线前,再配合检查清单做一次切换彩排

可以继续配合这些内容一起看:

相关同步方案

除了Oracle到达梦数据库实操教程,DataMover还支持以下场景:

Oracle到达梦实操步骤Oracle到达梦字段映射达梦DM8同步配置国产数据库迁移教程Oracle到DM8数据同步达梦数据库CDC配置

常见问题解答

Oracle到达梦实操需要哪些前置步骤?

先确认Oracle端Archive Log已开启,达梦端创建好目标库和用户。Docker部署DataMover后,依次配置Oracle源端和达梦目标端,选择表并检查字段映射。

Oracle到达梦的数据类型映射准确吗?

DataMover内置Oracle到达梦的DDL转换引擎,自动处理NUMBER→NUMERIC、VARCHAR2→VARCHAR等常见映射。但建议在同步前逐表确认字段类型。

开始配置 DataMover 同步任务

下载 DataMover 后,可按文档完成数据源、表映射、同步策略、任务启动和执行结果校验。