从oracle导入数据到mysql

时间:2011-10-19 14:35:04

标签: mysql database oracle

我有2个数据库,第一个是Mysql数据库,它用于网站。第二个是Oracle数据库,它有我希望在网站上显示的数据,数据必须是新的,我的意思是,我需要执行一个过程,每30分钟从oracle db迁移一次数据到Mysql。

因为我说的是每30分钟要迁移60000行,我认为最好的方法就是(考虑性能):

insert into mysql_db.table.field1, mysql_db.table.field2, mysql_db.table.field3 select oracle_db.table.field1, oracle_db.table.field2, oracle_db.table.field3 from oracle_db.table

Oracle数据库位于Windows上,而Mysql位于Linux(Ubuntu)上。

这可能吗?怎么样?别的,请给我一个不同的方式。

3 个答案:

答案 0 :(得分:1)

拥有MySQL数据库的ODBC驱动程序,您可以在dbForge Studio for Oracle中尝试数据导出工具(带命令行支持)。

答案 1 :(得分:0)

您还可以使用类似GoldenGate的内容来捕获oracle中的更改并将它们应用于mysql数据库,但如果这是您使用的一个用例,则产品的成本可能不合理,其中case可能只是一个简单的perl / php / python / etc脚本就行了。

我在mysql 4和oracle 9i之间使用了HSODBC链接,发现性能不太好,希望事情有所改善,如果是这样,这可能是一个可行的解决方案,但你仍然需要这样做一个工作(内部或外部的oracle),因为我不知道从mysql到oracle的调用。

答案 2 :(得分:-1)

Oracle通过DBLink支持Oracle数据库之间的连接。但我不相信存在一些用于连接Mysql和Oracle的工具,可以直接执行您提出的查询。

我可以建议您编写一个脚本(通过Python或Groovy中的示例)并在CRON Linux上安排它(如果这是您的环境)。由于您需要的数据大小实现批量更新(它特定于您将在其中实现脚本的语言)