mysql数据迁移到Oracle的正确方法
在mysql数据库里有一个表student,它的结构如下:
在Oracle数据库里有一个表from_mysql,它的结构如下:
现在要把数据从mysql的student转移到Oracle的from_mysql中去,这里笔者借助kettle的spoon工具,可以快速的实现这个功能。
首先,打开spoon,新建一个转换,命名为表输入到表输出。然后在核心对象中的输入那里找到表输入,拖到编辑界面中,再从输出那里找到输出拖到编辑界面中,连接表输入和表输出,如图所示:
右击表输入,选择编辑步骤,弹出如下窗口:
在数据库连接那里选择连接的数据,这里选择mysql,可以点击编辑对数据库进行修改。如果还没有配置过数据库,则点击新建,此时会进行数据库的配置,具体配置可以查看kettle-配置资源库。
在sql输入框中输入sql语句,筛选要迁移的数据。如果sql语句包含了变量,在下面替换sql语句里的变量那里打个勾。
右击表输出,选择编辑步骤,弹出如下窗口:
数据库连接跟表输入的差不多,只是这里选择Oracle,在目标表里选择from_mysql,因为我们选择是测试数据,数据量并不大,所以这里的提交记录数量保持默认就可以了。
接下来新建一个作业,命名为表输出。在核心对象的通用那里找到start,set variables,transformation,并拖到编辑界面,连接三个对象,如图所示:
右击set variables,选择编辑作业入口,在弹出的窗口中编辑变量名称及变量值,如下所示:
右击transformation,选择编辑作业入口,在弹出来的窗口中选择转换名称,找到刚才保存好的转换:表输入到表述出。如下所示:
至此,所有的工作就完成了。点击运行,就可以从mysql中抽取数据转移到Oracle中了。