【实战】用 DataMover 在内网完成 Oracle → PostgreSQL 全量+增量同步(零编码 · 私有化 · 免费)

91 阅读4分钟

【实战】用 DataMover 在内网完成 Oracle → PostgreSQL 全量+增量同步(零编码 · 私有化 · 免费)

一句话总结:在信创“去 Oracle”项目中,如何在 完全断网的内网环境 下,不写一行代码10 分钟内 把 Oracle 数据同步到 PostgreSQL?本文给出可立即落地的方案。

背景:我们为什么需要这个方案?

最近半年,我们团队参与了多个政务云和金融系统的国产化改造项目。一个高频需求是:

“把 Oracle 的核心业务表迁到 PostgreSQL,但 数据不能出内网不能用公有云 DTSDBA 希望自己能独立操作。”

尝试过 DataX(只支持全量)、Kettle(类型映射太复杂)、自研脚本(维护成本高)……最终稳定落地的,是一款叫 DataMover 的私有化同步工具。

它有几个关键特性,完美匹配信创迁移场景:

  • 完全离线部署:所有组件跑在内网服务器,无任何外联;
  • 图形化 Web UI:DBA 或运维人员直接浏览器操作;
  • 自动类型转换NUMBER → NUMERICVARCHAR2 → VARCHARDATE → TIMESTAMP 等无需手动处理;
  • 支持增量同步:时间戳模式 + Oracle LogMiner CDC(近实时);
  • 免费可用:中小规模迁移(<50 表)完全够用。

下面,手把手带你跑通第一个任务。


一、部署 DataMover(5 分钟搞定)

1. 下载安装包

访问官网(支持 Linux / Windows / macOS,含统信 UOS、麒麟):

1.png

准备好 JDK 和 MySQL 环境后,按操作系统选择部署方式:

🔒 安装包为完整离线包,无需联网、无需 Docker、无需 Maven

2. 启动服务

# 管理控制台(默认端口 8000)
./manager/bin/start.sh

# 任务执行器(默认端口 8011)
./worker/bin/start.sh

打开浏览器访问 http://<你的内网IP>:8000 默认账号:admin / 密码:admin123


二、配置 Oracle → PostgreSQL 同步任务

Step 1:添加数据源

  • Oracle 源
    • 类型:Oracle
    • Host: 192.168.10.10
    • Port: 1521
    • SID/Service: ORCL
    • 用户名/密码:app_user/secret
  • PostgreSQL 目标
    • 类型:PostgreSQL
    • Host: 192.168.10.20
    • Port: 5432
    • Database: migrated_db
    • 用户名/密码:pguser/pgpass

点击「测试连接」✅ 确保网络与权限正常。

2.png

3.png


Step 2:创建同步任务

  1. 选择表:如 CUSTOMERS, ORDERS, SYS_LOG

  2. 设置同步模式:

    • ✅ 全量 + 增量
    • 增量方式二选一:
      • 时间戳模式:指定字段如 update_time
      • CDC 模式(高级):基于 Oracle Redo Log,秒级同步(需开启归档+补充日志)
  3. 字段映射:

    • 系统自动匹配(如下图示意):

      ORACLE          → PostgreSQL
      NUMBER(19,2)    → NUMERIC(19,2)
      VARCHAR2(255)   → VARCHAR(255)
      DATE            → TIMESTAMP
      CLOB            → TEXT
      
    • 支持手动覆盖(如将 STATUS 映射为枚举值)

  4. 启动任务:点击「运行」,实时查看进度


Step 3:监控与运维

Web 控制台提供:

  • 已处理记录数
  • 错误日志(含具体 SQL 和异常堆栈)
  • 断点续传(网络中断后自动从上次位置恢复)

日志文件路径:./logs/worker.log,便于集成 ELK 或审计系统。

4.png

5.png

6.png


三、为什么我们最终选了 DataMover?

方案是否私有化支持增量PG/Oracle 兼容上手成本适合 DBA?
阿里云 DTS❌(不可用)
DataX⚠️(需自研 Writer)
Kettle⚠️(易出错)中高⚠️
DataMover✅(自动适配)极低

💬 真实反馈: “之前用 Kettle 同步订单表,光调试 TIMESTAMP WITH TIME ZONE 就花了两天。DataMover 连上就能跑,整个任务不到 10 分钟。” —— 某城商行 DBA


四、适用场景 & 免费版限制

✅ 推荐使用场景:

  • 信创改造 / 去 Oracle 工程
  • 内网数据中台建设
  • 异构数据库灾备
  • 开发测试环境数据初始化

🆓 免费版能力(截至 2026 年):

  • 最多 3 个并发任务
  • 每任务最多 10 张表
  • CDC 模式支持最多 150 张表(总量)

对于 90% 的中小规模迁移项目,免费版完全够用。


五、结语

在国产化浪潮下,工具的“可用性”远比“功能炫酷”更重要。 DataMover 的价值,不是技术最前沿,而是 让 DBA 在合规约束下,真正能独立、快速、安全地完成迁移

如果你也在内网环境中挣扎于 Oracle → PostgreSQL 同步,不妨花 10 分钟试试它。

🔗 官网 & 下载datamover.cn 📘 文档中心datamover.cn/doc