kettle实现oracle迁移至mysql

公司有需求将两张业务表从oracle迁移至mysql,表的数据量大概3000W左右,在对比了各种迁移方法后,决定使用kettle。

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。kettle的数据抽取主要在于抽取数据,而没有考虑数据库的函数、存储过程、视图、表结构以及索引、约束等等,如果想对这些内容进行迁移,就需要通过写脚本或者更改kettle源码的方式实现了。

一、安装java 环境

参考:https://www.cnblogs.com/nothingonyou/p/11936850.html 

二、部署kettle

官网下载较慢,这里选择国内镜像下载,使用的是pdi-ce-7.1.0.0-12.zip 版本。

官网地址:https://community.hitachivantara.com/s/article/data-integration-kettle

下载地址:%20Integration/7.1/

解压后进入到Kettle目录,双击运行spoon.bat文件,出现如下界面及说明kettle成功部署。

kettle实现oracle迁移至mysql

1. 数据库连接驱动 

在运行之前,我们需要下载对应数据库的jar包导入到Kettle的lib目录下,比如我们需要把oracle迁移到mysql,那就需要oracle和mysql两个jar包:

kettle实现oracle迁移至mysql

2. 配置kettle转换

双击打开spoon.bat,在左侧主对象菜单栏,新建一个转换,命名为o2m,如下图:

kettle实现oracle迁移至mysql

2.1配置oracle和mysql连接

DB连接一栏,右击新建连接,配置oracle连接:

kettle实现oracle迁移至mysql

点击测试,显示成功即为配置完成

kettle实现oracle迁移至mysql

配置mysql连接:

kettle实现oracle迁移至mysql

点击测试,显示成功即为配置完成

kettle实现oracle迁移至mysql

 2.2 配置字符集

迁移时要确认两边数据库使用的是哪种字符集,不然可能会出现迁移后出现乱码的问题,我这里oracle是16GBK,mysql是UTF-8,UTF-8兼容16GBK,故没有配置。

kettle实现oracle迁移至mysql

2.3 配置迁移步骤

在左侧菜单栏【转换】里面,选择【核心对象】,【输入】一栏接着双击【表输入】,或者选中将【表输入】拖拽到右侧空白区域。

kettle实现oracle迁移至mysql

双击你拖进来的【表输入】,修改“步骤名称”,选择源数据,点击获取【获取SQL查询语句】,选择你想同步的表,点击确定后就可以了。当然也可以自己写sql语句,我这里是自己写的sql,点击【预览】可以查看要迁移的数据。

kettle实现oracle迁移至mysql

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpypg.html