随着羲和(Halo)数据库周边生态的逐步完善,我们开源的数据库迁移工具迎来重要升级。此前,本工具已能实现 MySQL、Oracle 等国外主流数据库至羲和(Halo)数据库完整、稳定的元数据与数据迁移、元数据与数据对比。本次升级致力于提升工具的通用性,新增两大数据库关键迁移和对比:一是支持 PostgreSQL到 PostgreSQL(同构数据库)的完整元数据迁移及数据迁移、完整元数据对比及数据对比;二是实现 Oracle 到 PostgreSQL(异构数据库)的表结构迁移及数据迁移、表结构对比及数据对比。通过此次升级,无论是开发者、企业还是个人,都将能够更便捷地利用该工具,在相同或不同数据库间高效迁移数据,满足多样化的业务需求。
一、操作演示
为了降低学习成本,PostgreSQL、Oracle数据库至PostgreSQL数据库的迁移及对比流程与Oracle、MySQL数据库至Halo数据库的迁移及对比流程基本相同,以下是完整的演示流程:
1. 准备工作
点击菜单栏的数据源管理,准备源端和目标端数据库源,如源端名为TESTpg10的PostgreSQL数据库和名为TESToracle的Oracle数据库,目标端名为TESTpg15的PostgreSQL数据库。

点击菜单栏的数据类型映射,因为Oracle与PostgreSQL为异构数据库,迁移前需要准备将Oracle数据类型映射成PostgreSQL的数据类型。

2. 构建元数据迁移任务
点击菜单栏的任务构建-元数据,选择对应的源端和目标端数据库,采集相应的元数据,选择元数据迁移的模板,点击添加脚本任务,即可生成元数据迁移的的任务,其中日志会将生成的表结构脚本文件打印出来,也可以通过脚本文件进行创建表结构。

图a. 创建PostgreSQL元数据迁移

图b. 创建Oracle表结构迁移
3. 执行表结构迁移任务
迁移数据的前提是优先迁移表结构,先准备在目标端数据库中创建对应的schema名,点击菜单栏任务管理,选择元数据类型为表结构,点击启动按钮启动任务,执行状态为成功则可去对应的目标端schema下查看表结构创建成功。

4. 构建数据迁移
点击菜单栏任务批量构建,选择对应的源端和目标端数据库、schema、数据库表名,差异校验通过后即可构建数据迁移任务。

5. 执行数据迁移任务
点击菜单栏任务管理,选择数据迁移任务,点击批量启动,待数据迁移任务执行完毕,再按规定顺序执行除表结构外的其他元数据类型。

6. 元数据对比
点击菜单栏元数据对比,添加对应源端,目标端schema,进行元数据对比,点击详情可查看对比的定义语句。


7. 数据对比
点击菜单栏数据对比,添加对应的源端、目标端schema,即可进行迁移后的数据量对比。

本次Oracle、PostgreSQL迁移到PostgreSQL的完整流程介绍到此就结束了。在未来,通过我们技术架构的优化升级,本工具将支持更广泛的数据库场景适配,无论是同构环境的版本升级,还是异构系统的数据迁移,均可实现高效稳定的迁移操作,为企业数字化转型提供坚实的技术保障。