<< 新闻中心

国产化数据库迁移之 oracle 篇

2020-12-10 16:29:52 作者 书写人生
     在软件行业国产化的大环境下,不可避免的需要把国外数据库内的数据迁移至国产数据库中。以oracle 数据库为例。
 
数据迁移前的对比分析
 

     对原oracle数据库与国产数据库分析的目的在于了解数据模型,判断数据迁移的工作量及确定迁移工作的重点和方案,主要包括一些内容。
     1、原oracle数据库的相关信息,包括其后台的操作系统和数据库的版本,前台的开发模式、应用系统常用的接口、运行的中间件环境、应用涉及到的库数量及之间的关系等等。
     2、涉及的数据类型,常规的如CHAR、VARCHAR等,这些各种国产数据库一般都支持。如果系统用到了如日期、时间、文本、图像等类型时,在做数据迁移的时候要注意Oracle与国产数据库之间的差异,主要关注长度、精度、标度信息,有时候需要做些类型转换,如在Oracle中的varchar(8000),在达梦数据库中可考虑将其转换成text类型或采用16kb以上的建库模式加以解决。
     3、注意表的定义信息,主要是关注自定义的数据类型、自定义的缺省值。如oracle数据库可使用create type的语句创建自定义的数据类型和自定义的缺省值,而使用国产数据库的DTS工具无法将这些信息转换处理,需要在原系统中查找。
     4、原oracle数据库中是否使用到了视图、存储过程、存储函数、触发器、序列等;如果没有使用到这些,则比较简单,主要进行纯数据的迁移;如果用到了这些,且数量较多,则数据迁移工作将主要是脚本的迁移转换工作。
     5、原oracle数据库是否用到了系统字典,因各数据库的系统字典格式和内容均不一样,这时候需要复习原数据库的系统字典的涵义,再根据使用的实际情况作相应的手工处理。
     6、是否有其他的特别的要求,如安全控制、双击热备、数据同步等,如果有这些要求,这些要求也要加到数据迁移工作的重点和难点中。
 
数据迁移的策略和方法
 

     数据迁移的方法主要有三种,一种系统升级前通过手工的方式录入,另外一种是系统升级前通过工具进行迁移,最后一种是系统升级完成后,在新系统中生成所要的数据。
     目前,最主要的数据迁移方式还是通过工具进行数据迁移,通过计算机工具来对数据进行清洗和规范化,同时搭配另外两种方式进行处理,大量数据通过工具迁移,少量数据通过手工和系统生成,这样即可以保证数据迁移的效率,同时又保证了数据迁移的质量。
     oracle数据库向国产数据库的数据迁移工作主要是脚本的移植和纯数据的迁移。一般采用的顺序是先进性脚本的移植,这样做的好处主要有几点:
     1)整理好脚本之后,便于快速搭建移植环境;
     2)有了脚本文件,能够对系统有一个整体的了解,便于对系统的把握;
     3)容易进行相应的特殊处理,如缺省值、类型、主键、外键等;
     4)便于存储模块的移植;
     5)便于优化系统等。

     目前主流的国产数据库已开发各自的数据迁移工具,支持从oracle迁移数据,包括表结构、数据、主键、外键、索引以及视图等,如达梦DM数据库的DTS数据迁移工具,人大金仓Kingbase数据库的JDTS迁移工具等。数据迁移工具必须具备完整性,可扩展性,可移植性,并发性等特点。

     大规模oracle数据向国产数据库迁移的流程可分为三个阶段:准备阶段、转换阶段、校验阶段。

准备阶段

     首先搭建系统环境,包括原系统运行环境和新系统环境,便于后续开展迁移工作。其次,一方面对比新旧系统的数据库的表结构及数据字典,把oracle数据库的数据与国产数据库系统数据作差异化分析,将它们之间的映射关系找出来,并且制定新旧数据的转换规则;另一方面应用系统的数据库操作代码,根据数据库的差异调整代码。

转换阶段

     oracle数据库中的数据不是提取出来就可以直接导入到国产数据库中的,而是需要经过一系列的变换、运算,才能成为国产数据库中的数据。所以第二步根据提取出来的新旧系统映射关系,利用数据迁移工具把oracle数据经过数据抽取,多次转换之后,生成中间数据,同时移植应用系统到新的系统平台上。

校验阶段

     在数据迁移完成后,对数据的校验和测试分别从两个方面展开:
     一是对迁移后数据库的校验,主要包括完整性检查、一致性检查、记录条数检查、特殊样本数据的检查;
     二是检查国产数据库系统运行是否正常,进行数据一致性测试、执行功能测试、性能测试、数据备份和恢复测试等。这两个方面校验的结果是判断国产数据库系统内能否正式启用的重要依据。

     在应用系统迁移完成后,对应用系统的校验和测试同样从两个方面展开:
     一是对功能的校验,验证系统是否能正常运行,功能点是否都能实现,执行结果是否正确等;
     二是进行性能测试,找出运行缓慢的功能点,并进行针对性的优化处理。

数据迁移后的调优工作

性能调优
     对数据迁移后查询效率变低的问题,需要对国产数据库系统做性能优化。可跟踪系统实际运行的SQL语句,分析SQL语句组成、功能和相关的表,建立合适的索引一般能解决性能问题;如有必要,也可采用改写等价SQL语句的方法进行。SQL优化主要包括几个方面:
     1、在合适的地方建立适当的索引;
     2、IN,NOT,IN等操作符的转换;
     3、OR的优化;
     4、IN到EXISTS的转换;
     5、只查询用的列等。

系统调优
     在数据成功迁移后,为保证国产数据库能平稳运行,还应该对其进行系统测试,测试内容至少包括数据库系统可用性测试、数据库系统综合压力测试、数据库系统性能测试、数据库系统健壮性测试。在投入运行前应进行一定周期的模拟运行和试运行,并建立相关的测试报告。根据系统测试报告,对国产数据库硬件的配置和各种数据库参数的配置进行优化,这也是影响国产数据库性能的重要源头之一。
     国产数据库的硬件配置调优,主要包括CPU、内存、I/O的配置,需要根据运行状况提高配置或者优化资源分配,对国产数据库参数的调优,主要包括数据缓存区、共享池、日志缓存区、数据库块大小等参数,需要根据处理事务的类型调整个参数大小,以调高运行速度。

     我司提供各种国外数据库数据迁移至国内数据库服务,想了解更多国产化技术信息,欢迎指点我司技术研发,为您提供更完整的解决方案。
     我们的联系方式:
     公司名称:四川书写人生科技有限公司
     通信地址:成都市金牛区兴盛西路2号固特大厦3幢A座405A
     公司座机:028-83410634
     微信电话:191-8044-7517
     联系邮件:admin@skycto.com
     我们承诺:邮件12小时回,微信4小时回复,欢迎致电联系。

推荐阅读

首页 分享微博 分享微信 回到顶部