关于数据迁移的方法、步骤和心得

在项目中经常会遇到系统完全更换后的历史数据迁移问题,以示对客户历史工作的尊重,何况很多数据仍有保留的必要。

那怎么做历史数据迁移呢?

系统分析:

1、分析原有的业务系统

精确到大致的系统功能模块、大致的处理流程即可

2、分析现有的业务系统

精确到大致的系统功能模块、大致的处理流程即可

3、分析两者自己的区别和差异

大致分析一下两个业务系统之间的区别,有助于确定工作量和工作进度

4、分析用户对旧有数据的需求

分析对旧有数据的需求,才不至于盲目的全部性的进行迁移

5、分析用户对旧有数据的处理规则

旧有数据的处理规则,一般分为以下几类:

1、基础数据,通常这一类容易迁移,数据格式简单,但是会影响所有的相关业务数据,关注点为数据的主键和唯一键的方式。

2、纯历史数据的导入,仅供参考用的,这一类数据导入容易

2.1 纯历史数据

这一类数据处理起来会比较容易,一次性导入即可,后续采用增量数据导入。

2.2 流程性数据

这一类数据只有在记录完全关闭后才能结束,需要进行增量导入和数据更新,同时还要进行相关查询界面的开发,以保证旧有数据能够在新系统中查询的到。

3、新老系统表结构变化较大的历史数据

这一类数据的工作量是最重的,就需要仔细去研究新老业务系统的数据结构了。

1、尽量通过甲方单位来收集齐全相关原系统的相关设计文档,这一点对数据分析很有帮助,通过人的感觉和对数据的观察来分析毕竟不太靠谱。

2、在原系统上进行相关数据的观察,了解数据的变化和数据表数据的关系(对于比较难以理解的相关字段很有帮助)

3、比较新老系统数据的差异,如果实在很不靠谱的话,建议按2.2去处理。

系统设计:

1、做完系统分析之后,对相关数据进行归类,基础数据、纯历史数据、变化较大的历史数据

2、先从简单的入手,给自己点信心

3、在excel表中进行相关表的数据字典对照,勾画出对应字段、转换逻辑、依赖关系、必要时在新系统表上做相应的冗余,等数据迁移完毕后再清除。

关键点:

不同数据库的字段类型的匹配问题,比如SQLServer的text,在oracle应该对应clob,但是宁愿转换成几个varchar2,从实现角度相对容易些。

关于主键的问题,一致的数据类型尽量维持现有状态,不一致的尽量采用oracle的序列或sqlserver的identity int,但是迁移完毕后,要注意序列值的更新

系统实现:

1、PL/SQL或T-SQL

2、DTS、SSIS或者PowerBuilder的管道

后话:

1、数据迁移没有特别或高级的方法

2、对业务数据的分析最为关键,需要不断的尝试在新系统上不断的测试

3、数据迁移技术,主要通过SQL、存储过程、甚至游标来实现,优先级也如上

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

oracle40T数据如何迁移,关于数据迁移的方法、步骤和心得相关推荐

  1. oracle批量update数据_东方国信大数据面试真题

    东方国信 学长1 Hadoop工程师笔试题(金融事业部) 1)技术基础题(共十题,每题5分) (1)列举在Linux系统下可以在看系统各项性能的工具(区分CPU.内存.硬盘.网络等) (2)HDFS写 ...

  2. server sql 数据c盘迁移d盘_oracle 11g dbf数据文件从C盘迁移到D盘

    标签: 服务器系统为 windows 2008 R2 64位,由于C盘空间将满,要将C盘的oracle的DBF数据文件迁移到D盘下,步骤如下: 1.输入cmd,启动 cmd.exe窗口 2.输入 sq ...

  3. Laravel 实践之路: 数据库迁移与数据填充

    数据库迁移实际上就是对数据库库表的结构变化做版本控制,之前对数据库库表结构做修改的方式比较原始,比如说对某张库表新增了一个字段,都是直接在库表中执行alter table xxx add .. 的方式 ...

  4. python做mysql数据迁移_Python中MySQL数据迁移到MongoDB脚本的方法

    MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库 ...

  5. mongodb 导出到sqlserver_迁移sqlserver数据到MongoDb的方法

    迁移sqlserver数据到MongoDb的方法 前言 随着数据量的日积月累,数据库总有一天会不堪重负的,除了通过添加索引.分库分表,其实还可以考虑一下换个数据库.我强烈推荐使用MongoDb,我举例 ...

  6. 宝塔 mysql迁移_(2020年最新方法)如何快速迁移网站?使用宝塔一键迁移转移网站数据详细教程...

    选择一个好的服务器提供商真的很重要,特别忌讳那种国内个人的服务商,买了几台服务器,分割一下就敢拿出来卖. 正常情况其实也没事,就怕个人卖家实力有限,维护不好服务器,然后就经常宕机,还会经常搞出各种幺蛾 ...

  7. 如何安全的在不同工程间安全地迁移asset数据?三种方法

    如何安全的在不同工程间安全地迁移asset数据?三种方法 答: 1.将Assets和Library一起迁移 2.导出包package 3.用unity自带的assets Server功能 posted ...

  8. python脚本迁移数据库_Python迁移MySQL数据到MongoDB脚本

    MongoDB是一个文档数据库,在存储小文件方面存在天然优势.随着业务求的变化,需要将线上MySQL数据库中的行记录,导入到MongoDB中文档记录. 一.场景:线上MySQL数据库某表迁移到Mong ...

  9. mysql 5.7 innodb 预热_mysql5.7 InnoDB数据表空间文件平滑迁移

    [ERROR] [FATAL] InnoDB: Tablespace id is 14 in the data dictionary but in file ./mysql/innodb_index_ ...

最新文章

  1. linux 查看锁机时间,3分钟短文|Linux 登陆痕迹查看,last 锁定所有可疑对象
  2. exe4j打包exe_Java日常实用技巧之程序打包为可执行文件
  3. AnswerOpenCV(1001-1007)一周佳作欣赏
  4. 阿里巴巴、支付宝员工都在用的知识管理工具,究竟有何特别?
  5. css样式 浏览器的读取顺序
  6. TouchSlide - 大话主席
  7. 错误提示 - WPS Office 文字 正在运行
  8. 快速搭建一个端对端加密的在线聊天室
  9. Android新浪微博分页加载,使用LoadMoreWrapper为RecyclerView实现分页加载
  10. Python--判断一个数字的奇偶性
  11. 在线读书——孙天泽(嵌入式设计及Linux驱动开发指南——基于ARM9处理器)
  12. 【C】C语言int型数组转化为char型字符串数组
  13. 做android移动开发的一点体会
  14. 一文详解!你真的了解商业智能BI吗?
  15. lisp 画伯努利双纽线_伯努利双纽线的应用有哪些?
  16. 男童跌入水渠被冲出千米 不会游泳女子将其救起
  17. 企业文化在企业管理中的作用
  18. Unix timestamp时间 与 普通时间 转换方法
  19. 让php返回204,python请求返回HTTP 204
  20. PreCreateWindow作用

热门文章

  1. 微信公众号菜单如何链接小程序?
  2. PDF文件如何删除部分页面?
  3. Twain Practice
  4. wx:if判断是否为空
  5. 社区发现评价指标Q和NMI讲解、代码实现
  6. 理光有邮件服务器吗,理光复合机扫描怎么设置? 理光复合机扫描到邮件的设置方法...
  7. 命名实体识别实战(BERT)
  8. jQuery日历插件酒店预订蓝色
  9. 计算机微课课件评比活动总结,小学语文优质课微课评比的活动总结
  10. 408需要背诵的知识点