Oracle 到 OceanBase MySQL:分阶段推进异构数据库迁移 | NineData
Oracle 到 OceanBase MySQL 的迁移不仅是一次数据导入,还需要处理对象结构、数据类型、约束和业务切换期间的持续变化。NineData 支持结构复制、全量复制、增量复制和数据对比,帮助您将异构迁移拆分为可检查、可追踪的阶段。
适用场景
- 将 Oracle 核心业务系统迁移到 OceanBase MySQL,推进信创数据库替换。
- 在应用改造期间持续准备 OceanBase MySQL 环境,用于联调和验证。
- 在迁移演练、并行运行或目标端验收期间持续追平源端数据。
迁移流程
- 结构复制:先明确库、表和列的迁移范围,并将选定对象的结构同步到 OceanBase MySQL。
- 全量复制:将 Oracle 中已有的数据初始化到目标端;数据量较大时提前评估资源并安排执行窗口。
- 增量复制:全量完成后持续同步源端新增、更新和删除等变化,为应用验证和业务切换预留缓冲。
- 数据对比:目标端追平后核对关键对象,定位源端和目标端之间的不一致。
迁移前需要准备什么?
- Oracle 源端版本为
23ai、21c、19c、18c、12c或11g,目标端为 OceanBase MySQL V4.0。 - Oracle 和 OceanBase MySQL 数据源已添加到 NineData,并确认两端网络可达。
- 源端和目标端账号具备Oracle 到 OceanBase MySQL中对应复制类型所需的权限。
- 如需增量复制,Oracle 源库已设置为
ARCHIVELOG模式,并启用 Supplemental Log(附加日志)。 - 同步对象中的表具有主键或唯一约束,列名保持唯一;目标端已有对象、数据以及类型和约束兼容性以预检查结果为准。
- 在正式切换前准备业务验证、备份、回滚和测试数据清理方案。
创建并核验复制任务
- 将 Oracle 和 OceanBase MySQL 添加为 NineData 数据源。
- 创建数据复制任务,选择源端和目标端,并根据迁移阶段选择结构、全量和增量复制。
- 选择迁移范围,配置对象和字段映射,确认目标端对象名称。
- 保存任务并执行预检查,根据结果处理连接、权限、日志和对象兼容性问题。
- 启动任务并持续查看复制状态;目标端追平后执行数据对比,再结合业务验证安排切换。
警告
异构迁移中的类型、对象名称和约束兼容性必须以预检查结果和业务验证为准。请不要直接批量执行未经审查的修复或切换操作。