1

给定一个预生产 oracle 数据库和一个生产 oracle 数据库,如果大约 300K 记录需要从前者传输到后者,那么使用诸如 ESB/JMS/TIBCO 之类的消息传递系统是否是一个不错的选择?

4

3 回答 3

1

我不了解 Oracle,但如果我尝试使用 SQL Server 异步复制数据,我会使用他们自己的内部工具来完成它。我想 Oracle 有类似的工具来运行在两个 Oracle 数据库之间复制的作业。

但是,我确实有相当多的使用 ESB (Mule) 和 ActiveMQ 来跨数据库技术复制数据的经验。具体来说,我已经使用 Mule 和 ActiveMQ 完成了 SQL Server->Mongo 和 MySQL->Mongo。

到目前为止,我发现 Mule 是一个很好的解决方案——尤其是与 ActiveMQ 结合使用。我已经能够在大约 20 分钟内将大约 400k Wordpress 博客文章(来自 MySQL)复制到 Mongo。要从 CMS 系统传输 10 万篇文章,我们能够在大约 30 分钟内完成。

我想我会参与进来,因为您提到了 ESB 和消息传递。如果集成点是异构的,我会走那条路。如果你真的走那条路,骡子很棒。

于 2013-01-08T22:18:53.237 回答
0

如果您尝试将数据从旧数据库移动到新数据库而不是异步执行,则可能更简单的方法是 sql 注入。假设您的旧数据库允许您“导出”您的数据库,当您导出它时,您将下载一个 sql 文件。然后,您可以在记事本之类的程序中打开该 sql 文件,并将该代码复制粘贴到新数据库的 sql 执行器中,它将重新创建所有表并用旧数据填充它们。

于 2013-01-07T20:05:35.070 回答
0

实际上使用数据库工具将是在数据库之间复制数据的推荐方法。

使用消息传递时,不能保证数据将以与发送时相同的顺序传输,也不能保证表之间的关系,这可能会导致复制错误,除非在 JMS 接收方建立某种机制来维护序列。但这看起来更像是开销。

于 2013-01-07T21:52:50.537 回答