如何用Navicat将Oracle迁移至mysql?
1)下载Navicat Premium版本,Navicat for mysql只支持连接mysql数据库。如果需要支持oracle连接,还需要配置OCI,选择工具—选项—OCI,选择对应路径下文件:https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=1985526641,3725426200&fm=173&app=49&f=JPEG?w=640&h=242&s=4150CD339BB8440356F005D3030080B3配置完成后关闭Navicat再重新打开。
2)配置目的(mysql)数据库连接https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=813653851,2864237673&fm=173&app=49&f=JPEG?w=220&h=213&s=6242DC1A095E44CA10D0B4DC010080B1
输入mysql连接信息https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=165210319,470276012&fm=173&app=49&f=JPEG?w=505&h=264&s=05187433137854290CF1E1DF0000C0B3
3) 配置源(oracle)数据库连接https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=2755513706,1067848848&fm=173&app=49&f=JPEG?w=447&h=288&s=05307433590A55491C59F8CE0000C0B3
4)选择工具-数据传输,配置源数据库及目标数据库,并选择要传输的表https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1855490569,2116431593&fm=173&app=49&f=JPEG?w=640&h=374&s=C550E4331B13544F1054A1DA000080B2
在高级选项中可选择只创建表,不同步记录。也可以同时创建表和同步记录。配置完成后点击开始后进行转换。注意点:1)在转换过程中报错:这是由于将oracle的varchar2转成mysql数据库的varchar类型,长度不能大于255,如果oracle中varchar2的长度大于255,则会转成text/blob类型,在未指定text/blob键长的情况下如果将这个字段设置成主键或索引就会报错。解决办法:将该字段从主键中移除或缩短字段定义长度
2)由于mysql的date类型只支持存储日期,不能存储时间,navicat在转换时,如果是oracle的date,会自动转成mysql的date,这样会导致mysql的精度不够而报错,所以要提前将oracle的date类型转换成timestamp类型。如果表的数量比较多,手工改太麻烦了,可以写存储过程,自动将oracle中所有表中的DATE类型转换成TIMESTAMP类型。
3)类型转换问题,工具将ORACLE数据库中integer类型自动转成decimal(65,30),如果不需要小数位,最好先在oracle将integer统一转成number(**)之后再转换到mysql数据库。目前工具默认的转换规则:https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2314781250,3767856745&fm=173&app=49&f=JPEG?w=524&h=449&s=00B27C3219DF40CA5CD4C5DE0000E0B1
页:
[1]