将Oracle复制到MySQL

我正在开发一个Web应用程序,这个Web应用程序将使用MySQL。

现在我需要将我的客户端的Oracle数据库复制到MySQL中 ,只涉及几个表。一个表可以高达2-3百万行。

我只有这个Oracle的SELECT权限,所以不要求我在Oracle机器上安装任何types的服务。 但是我已经完全控制了MySQL端。

复制只是一种方式(Oracle到MySQL)。 我可以写一个简单的脚本来截断MySQL表并每天晚上重新填充它,但我认为这是非常低效的,必须有更好的方法。

有没有免费的工具可以使用? 昂贵的数据库复制系统绝对是不可能的。

如果你正在开发一个Web应用程序,我也会创build一个脚本php / asp /无论是查询oracle表,并导入到MySQL数据 – 每X分钟/小时(cron或Windows服务)。

您可以通过将导入的最后一项(oracle表唯一键('id'))保存到“特殊”mysql表中来跟踪上次运行时导入的数据,该表将指示您现在离开的位置以及现在的数据需要导入。

听起来像你可能被限制截断和填充只有select。

logging是否有时间标记让你知道最后一次更改的时间?

如果您没有其他访问权限,那么我不认为他们愿意configurationOracle的更改数据捕获function。 如果他们为你configuration这个,那么你可以对表进行初始转储,然后逐步从关联的变更表中读取更改,然后在完成后清除更改表。 非常滚动自己的。 CDC的介绍在这里: 链接 ..您只需要select访问与您的Oracle表关联的更改表,并能够清除更改后,将它们应用到您的数据库。

我曾经使用的一个产品($$$,所以我不会详细介绍,但它是一个Oracle Golden Gate相关产品)首先在源行和目标行上执行校验和,然后在不同的行上进行复制。 这需要一些处理能力来生成校验和,但是可以大大减less通过线路移动的数据量。