2011-03-16 39 views
2

我已经使用了这个,但不能得到直接的答案。我有一个mysql数据库,我想导入到oracle中。我可以只使用mysql转储吗?mysql到oracle

回答

5

没有。您需要使用一些ETL(导出,转换,加载)工具。
Oracle SQL Developer内置了用于将MySQL DB迁移到Oracle的功能。
尝试此链接 - http://forums.oracle.com/forums/thread.jspa?threadID=875987&tstart=0这是为了将MySQL迁移到Oracle。

+0

OK,感谢info..if转储失败,那么我会寻找到SQL Developer移植工作台。谢谢 – 2011-03-16 11:43:10

2

答案取决于您使用的MySQL功能。如果你不使用存储过程,触发器,视图等,你将能够使用MySQL导出而没有重大问题。

看看:

mysqldump --compatible=oracle 

如果你使用这些功能,你可能想尝试的自动转换器(谷歌提供了一些)。

在任何情况下,无论是语法的一些知识是必需的,以便能够调试问题(几乎可以肯定会有一些)。还要记住彻底测试一切。

+0

好吧,我想我会放弃转储。谢谢 – 2011-03-16 11:42:42

2

如果是转储SQL脚本,你需要做大量的副本&更换,使甲骨文该脚本的工作。

事情,我想起

  • 删除可怕的反引号
  • 删除所有ENGINE=....选项
  • 删除所有DEFAULT CHARSET=xxx选项
  • 删除所有未签名选项
  • 转换所有DATETIME类型为DATE
  • 用eg代替BOOLEAN列整数或CHAR(1)(Oracle不支持布尔值)
  • 转换所有INT(X),SMALLINT TINYINT数据类型简单地integer
  • 转换所有MEDIUMTEXT,LONGTEXT数据类型到CLOB
  • 转换所有VARCHAR那些拥有超过4000个字节定义为CLOB
  • 列删除所有SET ...命令
  • 删除所有使用的命令
  • 删除所有ON UPDATE选项列
  • 重写所有触发
  • 重写所有程序