资讯专栏INFORMATION COLUMN

用kettle 进行数据库的迁移--DB2 迁移到 mysql

Tamic / 1427人阅读

摘要:于是数据库选择了。这就涉及到,在不动系统代码的情况下,怎样直接将数据库的表结构数据主键索引等迁移到上。三在使用过程中遇到的问题上述方法在数据库迁移过程中无法把主键和索引进行迁移解决方法在的系统表中,查找到主键和索引所有的信息。

一、前言

开始给用户提供的整套系统是部署在WAS服务器和DB2数据库上的,由于WAS和DB2都属于IBM收费产品,根据用户需求,为了节省这笔开销,想使用免费开源的数据库和Tomcat服务器。于是数据库选择了MariaDB。这
就涉及到,在不动系统代码的情况下,怎样直接将DB2数据库的表结构、数据、主键、索引等迁移到MariaDB上。接着这个苦差事就落到我头上了。第一次做这类型的工作,在网上找各种数据库迁移的工具,最终选择了kettle这款开源的工具,经过几天下来,终于完成了,特此记录,方便以后查阅。

二、kettle 的使用

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。
1.新建一个job,创建两个DB连接:source、target(源数据库和目标数据库连接),在菜单中找到【复制多表向导】,点击进行相关操作:

2.选择源数据库和目标数据库

3.选择所需迁移的表
4.编辑生成的job文件名:qy.kjb,和文件目录,编辑好后【Finish】
5.运行qy.kjb,可在test2数据库中看到成功生成迁移来的表。

三、在使用过程中遇到的问题

上述方法在数据库迁移过程中无法把主键和索引进行迁移

解决方法:在DB2的系统表中,查找到主键和索引所有的信息。然后拼接成mysql创建主键和索引的脚本
例如:
//从db2 的系统表中查询到主键信息的sql

select * from SYSCAT.KEYCOLUSE;

//拼接成mysql 创建主键的sql

select "ALTER TABLE "|| Tablename ||" ADD PRIMARY KEY" || " (" || ColumnName ||");"  from SYSCAT.KEYCOLUSE where TABSCHEMA="XX"; 

此时会生成mysql 的执行脚本,将脚本放入到mysql 中,就可以创建所有迁移过来表结构的主键

索引也是同理。只不过DB2 系统表中的索引是

select * from syscat.indexes;

在执行迁移的时候,有些job 失败,看生成的sql

句有中unknown类型。这个原因主要是DB2的时间类型直接转到mysql中没有与之对于的类型, 所以需要

把UNKNOWN ->DATETIME。
经过测试,此类型在迁移成功后,能正常的插入数据。

四、如果想更好的利用kettle可以将kettle的源码导入到eclipse中部署启动,这是纯java代码开发的开源工具。非常有研究价值!

刚开始研究kettle,,未完 待续。。。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/48830.html

相关文章

  • ❤️‍Kettle--老板说:这套生产据库千万、亿级数据迁移方案,学会就赚了❤️‍(工作学习必备

    ❤️‍您好,我是贾斯汀,这是我写了蛮久的一套工作学习实用的数据库数据迁移实战演练+性能优化方案~❤️‍ ❤️‍也希望看到最后觉得有帮助的小伙伴,在文末或者点击这里,直接跳到文章末尾,关注一下博主哦~❤️‍ 北海侨港(图) 【实战前言】 (1)不管你是学生,还是已经工作了的小伙伴,可能你在过去、现在或者未来,会遇到这样的问题,公司/项目用的是Oracle/DB2/MySQL等关系型数据库,因公...

    james 评论0 收藏0
  • 云原生据库如何打造业务弹性

    摘要:实战阿里云数据库为业务架构变迁做好准备目前,阿里云的数据库形态已经覆盖了互联网中的业务场景。演进路线阿里云上提供了这么多的数据库产品,在实际应用中该如何进行选择呢我们已经为业务的快速发展和更新迭代做好了准备。 摘要: 云计算带来了业务弹性上的极大优势,阿里云数据库高级产品专家时慢从应用架构的变迁,客户实战案例,业务分析等方面详细介绍POLARDB,及如何利用POLARDB设计互联网创新...

    fou7 评论0 收藏0
  • 刘奇:据库市场呈现多样化趋势,20% 传统据库在未来两年会被替代

    摘要:日前,我司刘奇接受了爱分析的采访,分析了目前数据库市场的发展趋势的特性及应用场景,并透露了公司未来发展布局。这样一来,同时支持和功能,成为分布式数据库产品。与传统数据库相比,可扩展性是最大优势。 日前,我司 CEO 刘奇接受了爱分析 ifenxi的采访,分析了目前数据库市场的发展趋势、TiDB 的特性及应用场景,并透露了公司未来发展布局。以下为爱分析报道及访谈实录,信息量很大,enjo...

    Youngs 评论0 收藏0
  • 什么是最适合云据库架构设计?

    摘要:在技术探索中,选择了更适合云数据库场景的架构和引擎设计。目前,巨杉数据库付费企业级客户与社区用户总数超过家,并已在超过家强级别的银行保险证券等大型金融机构核心生产业务上线。这一整体架构设计相信是云数据发展的主流架构设计。 分布式数据库技术发展多年,但是在应用、业务的驱动下,分布式数据库的架构一直在不断发展和演进。 开源金融级分布式数据库SequoiaDB,经过6年的研发,坚持从零开始打...

    JiaXinYi 评论0 收藏0
  • 什么是最适合云据库架构设计?

    摘要:在技术探索中,选择了更适合云数据库场景的架构和引擎设计。目前,巨杉数据库付费企业级客户与社区用户总数超过家,并已在超过家强级别的银行保险证券等大型金融机构核心生产业务上线。这一整体架构设计相信是云数据发展的主流架构设计。 分布式数据库技术发展多年,但是在应用、业务的驱动下,分布式数据库的架构一直在不断发展和演进。 开源金融级分布式数据库SequoiaDB,经过6年的研发,坚持从零开始打...

    whlong 评论0 收藏0

发表评论

0条评论

Tamic

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<