2008-06-05
使用sqldeveloper迁移mysql数据库至oracle
关键字: sqldeveloper, mysql, oracle
我用的sqldeveloper是1.5.0.53的版本。 如果你在机子上装了oracle客户端的话,我们可能会发现一个奇怪的问题,当你执行任何操作的时候可能会发生下面的错误。
这是因为sqldeveloper用的是oracle 11g的jdbc driver, 如果装了oracle客户端的话, sqldeveloper会用到oracle客户端上的驱动 (这都是oracle_home搞得鬼)。我们在sqldeveloper的主目录下创建一个"sqldeveloper.cmd"的文件, 然后写入以下内容。
以前启动sqldeveloper就双击这个cmd文件。 其实这个文件的作用也是很明显的。 就是在启动sqldeveloper时修改oracle_home环境变量 指向当前目录。
在migration之前, 你需要创建一个repository, 这个是个中间库,会记录一下迁移数据库的信息 (就是在数据库中建议写MD_开头的表)。
在sqldeveloper最方便使用的是quick migrate,但是quick migrate只能让你选择是迁移table,data 或者所有。 所以index constraint之类的信息都会迁移过去。
在你source database中选择capture tables 或者 capture schema, 会在Captured Objects视图中出现你捕获的内容, 你可以选择删除掉一些不需要的东西, 比如外键约束,不需要导的表 等等。
准备好你捕获的信息之后,在captured model上单击右键-》Convert to Oracle Model。完成之后会在Converted Objects中生成Converted Model, 然后右键-》Generate 会生成对应的oracle数据库的sql scripts, 然后在你的target数据库运行这些脚本, 你就得到了对应的oracle的数据库结构了。 然后再在Converted Model上点击右键-》 Move Data。 选择source database和target数据库。OK。 让数据慢慢迁移吧。
参考:http://forums.oracle.com/forums/thread.jspa?messageID=2536737
oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert (persistableObject.java:238) oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert(persistableObject.java:238) oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert (persistableObject.java:238) oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert(persistableObject.java:238) oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert (persistableObject.java:238) oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert(persistableObject.java:238) oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert (persistableObject.java:238) oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert(persistableObject.java:238) .... oracle.dbtools.metadata.persistence.persistenceException: Protocol Violation
这是因为sqldeveloper用的是oracle 11g的jdbc driver, 如果装了oracle客户端的话, sqldeveloper会用到oracle客户端上的驱动 (这都是oracle_home搞得鬼)。我们在sqldeveloper的主目录下创建一个"sqldeveloper.cmd"的文件, 然后写入以下内容。
SET ORACLE_HOME=%CD% start sqldeveloper.exe
以前启动sqldeveloper就双击这个cmd文件。 其实这个文件的作用也是很明显的。 就是在启动sqldeveloper时修改oracle_home环境变量 指向当前目录。
在migration之前, 你需要创建一个repository, 这个是个中间库,会记录一下迁移数据库的信息 (就是在数据库中建议写MD_开头的表)。
在sqldeveloper最方便使用的是quick migrate,但是quick migrate只能让你选择是迁移table,data 或者所有。 所以index constraint之类的信息都会迁移过去。
在你source database中选择capture tables 或者 capture schema, 会在Captured Objects视图中出现你捕获的内容, 你可以选择删除掉一些不需要的东西, 比如外键约束,不需要导的表 等等。
准备好你捕获的信息之后,在captured model上单击右键-》Convert to Oracle Model。完成之后会在Converted Objects中生成Converted Model, 然后右键-》Generate 会生成对应的oracle数据库的sql scripts, 然后在你的target数据库运行这些脚本, 你就得到了对应的oracle的数据库结构了。 然后再在Converted Model上点击右键-》 Move Data。 选择source database和target数据库。OK。 让数据慢慢迁移吧。
参考:http://forums.oracle.com/forums/thread.jspa?messageID=2536737
发表评论
- 浏览: 220488 次
- 性别:

- 来自: 广州

- 详细资料
搜索本博客
我的相册
VB-seamless
共 13 张
共 13 张
最近加入圈子
最新评论
-
使用Terracotta和Tomcat建 ...
renavatior 写道"运行start.bat 9081 这样我们就启动了目 ...
-- by rainsf -
使用Terracotta和Tomcat建 ...
"运行start.bat 9081 这样我们就启动了目录9081中的tomcat ...
-- by renavatior -
广州3年多经验 5500的 ...
fucku 写道广州的软件厂家可比深圳多多了,不过比起北京上海来,还是少了很多, ...
-- by yongfan_420 -
广州3年多经验 5500的 ...
广州的软件厂家可比深圳多多了,不过比起北京上海来,还是少了很多,导致机会也没有这 ...
-- by fucku -
广州3年多经验 5500的 ...
想高工资就去厂家咯,老在集成商里面混能有多大个奔头
-- by fucku






评论排行榜