在不久前的K-DB发布会上,北京市档案局应用系统建设负责人田雷,分享了关于K-DB一键迁移的体验感受,“北京数字档案系统经过1天时间准备后,用15分钟就完成了整个数字档案馆系统,以及6GB业务数据的迁移。”
完善的工具包(包括数据结构的比对、SQL语句检查等),让从Oracle到K-DB的迁移工作,都可以交给工具软件自动完成,这不仅有效降低了迁移的技术复杂度和工作量,也使得迁移风险更加可控。“迁移完成后,进行了严格的测试,所有的应用系统都能运行流畅,没有失败和断点情况,而且性能提升十分明显。” K-DB在北京市档案局经受住了考验。
北京市档案局的迁移场景只是K-DB应用案例中的一个。
今天的“K-DB技术范儿”文章,将给大家介绍K-DB“一键迁移”,介绍之前,我们先看看在什么情况下,用户需要做数据迁移?
数据迁移背景
随着数据库系统的迅速发展,企业信息技术的进步,为提供更好的性能并满足业务系统需求,应用系统需要更换平台或使用功能更强大的系统来替代原有系统。
操作系统平台的切换或采用新系统可能导致数据库系统的改变,为了将原有系统在使用期间存储的数据应用到新系统中,就必定会面临数据迁移的问题。
一键迁移优势
关键词:全自动化、高效、低风险。
全自动化:迁移工具KdMigrator2为企业客户提供了全自动化的数据库迁移服务,通过简单友好的互动式界面,实现对迁移前后表结构的重定义。
数据迁移中异构平台数据的自动转换,内置函数和存储过程的自动改写。
高效:KdMigrator2能够避免传统数据库迁移过程中凭个人经验的评估以及手动迁移、人工验证等大量手工操作所带来的错误,能够大幅度缩短迁移时间;在高效的迁移和保证数据质量的同时,大幅减少数据库的迁移成本。
低风险:K-DB通过迁移评估工具全方位分析数据库基本结构,定位特殊语法和对象,生成针对性迁移评估报告;同时基于系统化工具的迁移具有更高的可重复性和自动化程序,避免人为错误,最大程序地降低迁移的风险。
K-DB能实现一键迁移,凭借的则是其中的KdMigrator2迁移工具。
KdMigrator2可以将源数据库的整个库或部分数据迁移到K-DB,也就是说将保存在源数据库中的表、索引、视图、同义词、存储过程等对象移动到K-DB中,使K-DB数据库实现与之前源数据库相同的功能。
KdMigrator2工具的功能如下:
迁移用户所需表到K-DB
迁移用户权限及角色到K-DB
迁移表、索引、视图、同义词等对象到K-DB
提供源库与K-DB字符集的比较
使用[option]按钮以多种方式迁移
通过进程界面,可以确认迁移进度
提供源数据库与目标数据库K-DB的数据迁移结果的对比
同时,KdMigrator2可以实现full database、schema、table等多种模式的一键迁移。
KdMigrator2原理
KdMigrator2的迁移步骤如下:
(1) 读取数据库的源数据
数据库需要读取的信息如下:
1. 连接信息:通过JDBC方式使用ip、port、db_name username password ,db type组合的形式连接源端数据库与目标数据库
2. 对象信息:对象名、对象属主、对象类型
3. function、procedure、package、trigger等
在得到了数据库中的各种对象的元数据后,就可以根据这些元数据,定义异构数据库间的数据类型转换。
(2) 数据类型转换
不同的数据库系统都有自己的一套数据类型,其功能都能满足基本的数据处理,如数值型、字符型、日期型、大对象等。KdMigrator2在迁移过程中会自动把源库ORACLE中的数据类型转换成目标数据库K-DB所支持的数据类型。
(3) 根据类型转换,生成目标数据表结构
根据第二步中的数据类型转换,在目标数据库K-DB中创建转换后的数据表,该表和源数据表结构几乎等价,该表用来接收待迁移的数据。
(4) 迁移数据
kdMigrator2通过在源数据表中提取数据后,然后采用SQL语言的Insert语句直接插入到K-DB的目标数据表中,完成数据的迁移。数据迁移过程中可以选择以“直接路径加载”、“数据批量插入”的优化选项,保证数据的快速迁移。
如图所示,KdMigrator2的数据传输过程如下:
(5) 创建其它对象
KdMigrator2通过内置脚本抽取源数据库oracle中其它对象的元数据,并生成相应的DDL脚本在目标数据库中执行,从而创建function\procedure\package等对象。
(6) 生成迁移报告
在KdMigrator2迁移完成后会生成相应的迁移过程报告,通过该报告可以查看在迁移过程中的成功或失败的事件。
(7) 数据验证
KdMigrator2在数据迁移完成后,会对迁移的数据进行验证。数据验证包括:对表记录总数的验证、对表记录内容的验证、对表对象个数的验证。
KdMigrator2支持的源库类型
KdMigrator2不仅支持同构数据库间的数据迁移,还支持异构数据库间的数据迁移。
KdMigrator2可以支持的异构数据库的类型有:Oracle、Informix、Sybase ASE、PostgreSQL、SQLServer。
(注:由于K-DB与Oracle体系结构及SQL标准的兼容性,在使用KdMigrator2一键迁移Oracle到K-DB时,无需手工干预即可使迁移顺利进行。)
KdMigrator2的迁移顺序
如下图所示,显示了KdMigrator2中的迁移顺序
注意事项
如果要使用KdMigrator2工具,要在KdMigrator2工具所在服务器上安装JDK。
为了保证迁移过程中不产生乱码,要在KdMigrator2工具所在服务器上设置客户端字符集KD_NLS_LANG=UTF8或KD_NLS_LANG=GBK,这个字符集要和K-DB数据库的字符集相同。
迁移前在K-DB中创建相关用户及表空间。
K-DB全面兼容Oracle;
KRAC集群支持,实现数据库横向扩展;
异构平台的全自动化一键迁移,高效低成本,降低迁移风险。
至此,关于K-DB的三大显著优势,已经给大家做了详细介绍,对K-DB来说,只有在复杂的业务场景中经受住了考验,才是对其特性的最好验证。
显然,K-DB已经给出了答案。
来源:本文来自浪潮服务器官方微信,公众号(浪潮服务器),更多精彩,敬请关注!