合 数据迁移工具kettle使用详解
使用kettle实现Oracle到Oracle的数据同步
ETL技术是我们经常使用的数据库技术,大家可以通过很多种方式来实现。在大中型系统中,我们常用Oracle Data Integrator和Oracle GoldenGate来实现。但对于小型系统,大家认为简单易用的就是使用开源的Kettle,通过可视化的界面进行拖拽,轻松便捷地实现ETL。今天我们就和大家一起从安装开始,使用Kettle进行数据同步。
在今天的实验中,我们有3台独立的服务器,用途和分工如下:
- 主机1:源数据库:Oracle Database 19.5,数据库名称,orclpdb1
- 主机2:目标数据库:Oracle Database 19.5,数据库名称,orclpdb1
- 主机3:运行Kettle的Windows环境
Kettle可以运行在Windows、Linux以及Mac上。
第一步:安装JDK
今天我们以Windows作为Kettle运行的环境,在安装Kettle之前,需要安装JDK和JRE。您可以来到https://www.oracle.com/technetwork/java/javase/downloads/index.html下载适合您操作系统的JDK。在本实验中,我们将JDK安装在C盘下,路径如下:
在安装的过程中会提示我们安装JRE,我们也选择在C盘安装。
第二步:设定环境变量
首先设定用户环境变量,将JDK下面的bin加入到Path当中。
然后设定系统环境变量,加入JAVA_HOME,将JDK的路径加入其中。
设定系统环境变量CLASSPATH,将
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar加入其中。
在命令行当中测试一下,看看java是否好用。
第三步:下载并解压并启动Kettle
您可以在
https://community.hitachivantara.com/s/article/data-integration-kettle下载Kettle
下载之后,执行解压文件夹下的Spoon.bat文件即可启动Kettle。Kettle的启动时间可能会稍微长一些,一般是因为JAVA的虚拟机配置的问题,您可以通过修改Spoon.bat这个文件中关于JAVA虚拟机的配置来调整Kettle的性能。比如修改这个文件中的如下代码:
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m"
第四步:安装Oracle数据库驱动
Kettle自带了很多数据库的驱动,但是Oracle的数据库驱动没有在其中,我们需要下载与Kettle相匹配的数据库驱动,我们今天使用的数据库是Oracle Database19.5,但是通过测试发现,8.3的Kettle并不支持最新版的数据库驱动,所以我们下载Oracle Database 12c(
https://www.oracle.com/database/technologies/jdbc-drivers-12c-downloads.html
)的Java数据库驱动,并将它放在Kettle安装路径下的lib路径下。按照下图提示,将压缩文件下载之后,将里面的jar文件,放入Kettle安装路径下的lib当中。
第五步:创建JNDI
连接数据库的方式有很多,在连接PDB的时候,我个人比较喜欢使用JNDI的方式进行连接,这种连接方式,简单明了。在Kettle的安装路径下,会找到simple-jndi路径,里面有一个jdbc.properties文件,编辑这个文件即可。
在今天的操作中,我们有两个数据库,我们给他们起名字为s_database和t_database,分别代表源数据库和目标数据库,请大家注意观察jdbc.properties文件中的写法。
申请看kettel
公众号回复关键字“小麦苗博客”即可