将oracle数据迁移到mysql

通常的数据迁移是通过生成一个.sql文件做为数据载体。但由于数据库平台间的方言或其它差异,是很难实现的。特别是大字段(clob,blob)。各类数据库间的处理机制差异太大。
由于项目需要,摸索了一下。将经验记录下来。 备忘:
[size=large]一、数据库建模[/size]
1、借助powerdesigner,先通过逆向工程,将oracle数据库建模。这样的好处是数据库的表关系已经建起来。

[size=large]二、生成数据库schema[/size]
2、将从oracle产生的模型,正向工程。即生成mysql数据。
这里特别要注意,正向工程前,要修改当前pd所依赖的DBMS.把它修改成mysql.否则生成的sql只能适用于oracle.
修改dbms的步骤如下:

[img]http://dl.iteye.com/upload/attachment/0066/0710/d4a18d12-99fb-3aa9-91db-d94e380d0093.png[/img]


[img]http://dl.iteye.com/upload/attachment/0066/0712/77d04b17-fa14-37ef-ae4d-3e46e90e86c0.png[/img]

只后就是生成mysql数据库的schema了。
[img]http://dl.iteye.com/upload/attachment/0066/0714/a1a80ae7-76ce-3557-b727-d33e1f57a854.png[/img]

[size=large]三、通过Convert Oracle to MySql迁移数据[/size]
通过这些步骤,还缺初始化数据。期间一些很可能是blob的。
这里要借助工具。比如Convert Oracle to Mysql
工具一是万能的。使用过程中发现一个缺点。
1、不能迁移关系,比如主外键等。所以采用了powerdesigner
2、不能根据依赖关系自动调整数据初始的先后顺序。估计是个跟关系绝缘的家伙。

所以注意一点。先用pd建立关系。再用convert oracle to mysql来迁移数据。在迁移数据时要尽量选择merge模式。也就是不要覆盖原有的表关系。只追加数据。

[size=large]四、局部调整[/size]
有时会报错,数据无法成功迁移。这时候要具体分析。有时是关系不对,要比对原有的oracle数据库,确认关系都对了。有时则很可能是数据的插入的顺序不对,要先插入所外键所依赖的表的数据。一个一个的来调整。
另外:手动进行脚本调试时要注意以下几点:
1.varchar2 -->varchar
2.number -->numeric
3.clob --> text
4.双引号的问题
5.保留字的问题,加``
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值