ITPub博客

首页 > 数据库 > 数据库开发技术 > 如何做数据迁移

如何做数据迁移

原创 数据库开发技术 作者:mcxiaoracle 时间:2021-08-08 13:46:49 0 删除 编辑

前期准备工作

数据迁移范围确定

在做数据迁移测试前需要和开发部门确认好数据迁移范围,主要包含以下几点:

基本数据迁移

基本数据迁移就是从老库中把一些老表直接复制到新库的新表中,或是:

1.拆表:老库的老表拆分到新库的其他几张新表中去,2.合表:老库中的几张老表的字段合并到新库的一张新表中去

所以需要提前和开发部门确认好以下问题:

要和和开发一起确认要迁移的是那几张表?弄清楚老库中的老表对应要迁移到新库中的哪几张表?

迁移的表中,哪些数据字段需要迁移,哪些数据字段不需要迁移?

老表要迁移的数据记录条数是多少?

新老系统数据库表结构变化

1.新增字段和老系统表完全不存在关系

老表迁移到新表中,新表中有些必填字段在老表中没有的,需要和开发确认这些数据的填写规则(给什么默认值)

2.新增字段是由老系统特定字段转换而来

新系统中的一些字段可能是老系统中的一些字段通过一些规则转化而来的,所以需要和开发部门确认这些转换规则

迁移范围统计方法

基本数据迁移

1.直接复制表


2.非直接复制表(拆表&合表)


新老系统数据库表结构变化

1.新增字段和老系统表完全不存在关系


2.新增字段是由老系统特定字段


测试方案



测试类型分以上几大块,下文会对每种类型的测试做详细的说明

基本数据迁移测试

要保证老系统到新系统的无缝切换,必须要保证数据的正确性,而将老系统中数据迁移到新系统,首先就要保证所迁移的数据量是一致的,

只有在保证数据量一致的情况下,才能进行其他方面到测试,如果数据量都不一致,说明迁移方法或者脚本就是错误的,需要寻找原因。

方法1:

测试工具:

Navicat,文本比较工具(以 Beyond Compare为例)

测试流程:


迁移范围确定:

开发部门统计好本次的数据迁移范围给到测试部门

数据表导出:

1.对于直接复制的表

根据“迁移范围确定”中的库名、表名、条数,通过Navicat工具以txt格式,分别导出对应的迁移前的老表和迁移后的新表,

如果不是全表的数据,可以通过SQL语句选择需要的条数

以上文中的“表1”为例,

导出老库old中的老表hxuser,保存到 hxuser老.txt 中

以及新库new中的新表hxuser,保存到 hxuser新.txt 中


2.对于非直接复制的表

需要在Navicat中先用SQL语句查询到对应的迁移前的老表数据和迁移后的新表数据,然后再用txt格式导出

以上文的“表(2)”为例

1) 先用SQL查询迁移前的老表数据,并导出


2) 再用SQL查询迁移后的新表数据,并导出




  1. 参考资料:

https://blog.csdn.net/congbao6525/article/details/100359825?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control


2.https://blog.csdn.net/qq_34581118/article/details/77824597


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949806/viewspace-2785853/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 大表优化
请登录后发表评论 登录
全部评论
数据方向,了解oracle ,IBM DB2 730

注册时间:2019-09-30

  • 博文量
    286
  • 访问量
    226611