迁移向导(数据/schema 迁移)
你正在迁移数据/schema。是同构还是异构迁移,停机容忍度是多少?逐步规划:评估 → 迁移 → 验证。先在这里演练切换。
您要从什么迁移到什么?
同构:相同的数据库引擎(例如 Oracle 19 → Oracle 23,或 PostgreSQL 迁移到另一台服务器)。异构:不同的引擎(例如 Oracle → PostgreSQL、MySQL → SQL Server)。异构迁移需要多得多的兼容性工作(数据类型、函数、PL/SQL)。
- 相同引擎,新服务器/新版本(同构)
- 迁移到不同的引擎(异构)
- 我还在规划阶段,应该如何着手?
你的停机容忍度是多少?
这决定了迁移方法。若有维护窗口,最简单的途径是 dump/restore。若要求接近零停机,则先加载初始数据,通过持续复制(CDC)保持同步,再进行短暂切换。
- 有维护窗口(可以接受停机)
- 要求接近零停机
是否已评估 schema 和类型兼容性?
在异构迁移中,真正的工作不是复制数据,而是解决差异:数据类型(VARCHAR2↔TEXT)、函数(NVL↔COALESCE)、自增值、PL/SQL ↔ PL/pgSQL、已移除/不同的功能。
- 我已梳理了 schema/类型差异
- 我还没有评估
先评估兼容性
迁移前梳理源与目标之间的差异;若跳过这一步,迁移会中途停滞。
离线迁移(dump / restore)
最简单可靠的同构方法:执行一致性备份,加载到目标,验证,切换。
最短停机(CDC / 复制)
加载初始数据,然后通过持续复制使目标与源保持同步;停机只发生在短暂的切换期间。
异构迁移(迁移到不同的引擎)
转换 schema、迁移数据、改写逻辑、验证。分阶段进行;不要一次迁移所有内容。