OMS全量迁移技术实现及对源系统可能的性能影响

请问OMS迁移工具在对Oracle的全量迁移采用什么技术实现?全量迁移时对源系统性能会有什么影响(比如会不会上锁,什么时候上锁,上什么锁,还有资源占用等)。

谢谢

源端是oracle的场景
1.OMS迁移时利用oracle数据库中表的block块信息,将数据表按照block块信息进行切片
2.切片中的block信息最终可以组装成rowid
3.查询源端数据使用切片中的rowid范围作为查询条件
4.不同切片是并发查询源库数据的

迁移过程中不会对源表进行锁操作
迁移由于使用rowid作为查询条件,对于源库资源上的占用是比较少的

1 个赞

多谢解答,还有个疑问,这种通过rowid查询全量迁移,后续的增量迁移如何确认增量开始位置?谢谢

oms不需要严格确认增量位置,启动全量迁移前,会先启动增量日志拉取(这里的日志拉取,会把上游db产生的日志先落盘),待全量迁移完成后,会启动增量日志回放(即增量同步,增量同步会将已落盘数据进行消费到下游db,当然要先根据timestamp找到全量迁移前时间点),整个全量迁移到增量同步的过程中是允许多次写入的,基于at least once,幂等性pk或uk来保证,oracle以rowid来保证。

1 个赞

学习了,以前想过这个实现过程。

全量迁移实现和我以前理解的稍微差异。

我以为是全量分段,并发执行的,原来还有block这个内容。

感谢各位老师解答,多谢