医院 HIS/EMR 系统从 Oracle 迁移到平凯数据库,如何保证零停机且业务无感?

对于医院的 HIS、EMR 这种跑在 Oracle 上的业务,业务要求 7×24 不停机,或者极短的停机窗口。计划用 TMS 迁移到TiDB。
有医院或类似核心系统迁移经验的朋友,如何规划全量+增量同步、切流验证、回滚方案?迁移过程中业务 SQL 兼容性踩过哪些坑?希望能分享实际案例。

1 个赞

希望有经验的大佬们多多分享

这个难度很大了,得做好方案提前演练几次

确实,涉及的内容很多

全量、增量的同步基本得做三轮,验证同步时间,以及进行相关的负载测试,提前发现问题,捕获上游的负载在下游进行回放测试;
上游业务停止,切换数据源时配置数据回流的实时同步,避免回滚的数据一致性问题。

整体流程可以参考这个:

2 个赞

很多坑不在数据库,应用开发团队迁移经验少容易想不周,事前不沟通事后易扯皮。
这些事情一定要提前和开发团队约定好谁来做:

2 个赞

医院核心库很难真正零停机。TMS 可走全量+增量,切流前用对账和只读流量验证,Oracle 先保留可回滚。SQL 上重点核对空串与 NULL、序列、分页和过程函数。窗口尽量缩到秒级切换,而不是承诺全程无感。

这个库的迁移反而不是重点了,主要看开发团队,开发要做的东西太多,也很容易测试不到位。。。

谢谢大佬分享

确实,需要明确边界和责任

医院 HIS/EMR Oracle 迁移 TiDB 难度不小,需要多轮完整演练。重点要处理 Oracle 到 TiDB 的 SQL 兼容问题,全量 + 增量同步持续追延迟,切流前完成数据校验,源库保留用于回滚,尽量选择业务低峰窗口切换。

还是需要反复演练,才能保障平稳切换。

反向同步不应该用 ticdc 吗

很难,必须演练。另外最好协商几个小时的业务暂停

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。