DB2 的分区表在线迁移,说起来听着有点重,其实操作起来也不算太难,关键还是规划好、选对方法。
DB2 的分区表,就是把一张大表切成几块,每块叫一个分区。比如按日期来分,今天的数据放一个分区,去年的放另一个,查的时候响应也快,管理起来也清爽。
在线迁移,说白了就是不断服务的搬家。系统不停,数据在偷偷挪位置,用户都不带察觉的。你要是做企业项目,这种迁移方式挺香,尤其对那种业务一直在线的系统。
迁移方式有几种,你可以选简单点的,比如用db2move
逻辑导入导出,适合小体量的表;也可以玩高级点的,复制结构配合实时同步工具,像IBM Data Replication
、GoldenGate
这些,都还挺靠谱。
还有种思路比较巧,用物化视图做桥梁,源表和目标表一起同步着,业务一直跑着,等一切就绪,轻轻一换,流畅切过去。
了,别忘了前期的测试和规划。在测试环境先跑一遍,确认目标表分区也配得好,数据能顺利接住,再上线搞迁移。迁完也要检查清楚,再把业务指向新表。
小提醒:时钟同步、网络带宽别忽略,尤其大数据量迁移的时候,越是细节,越不能掉链子。要是你系统比较敏感,尽量挑个业务低峰期操作,风险会小多。
如果你正好要升级硬件、切换架构或者搞灾备,在线迁移绝对是个不错的选择。顺便给你挖了几个参考链接,自己挑着看: