鉴于预生产的oracle数据库和生产oracle数据库,如果需要将大约300K记录从前者转移到后者,那么使用消息系统(如ESB / JMS / TIBCO)是不是一个好的选择? / p>
答案 0 :(得分:1)
我不了解Oracle,但如果我尝试使用SQL Server异步复制数据,我会使用自己的内部工具来完成它。我认为Oracle有类似的工具来运行作业以在两个Oracle数据库之间进行复制。
但是,我确实有很多使用ESM(Mule)和ActiveMQ来跨数据库技术复制数据的经验。具体来说,我已经使用Mule和ActiveMQ完成了SQL Server-> Mongo和MySQL-> Mongo。
到目前为止,我发现Mule是一个很棒的解决方案 - 尤其是与ActiveMQ相结合。我已经能够在大约20分钟内将大约400k Wordpress博客帖子(从MySQL)复制到Mongo。要从CMS系统传输100k文章,我们能够在大约30分钟内完成。
我认为因为你提到的而且ESB和消息传递我会权衡。如果积分点是异质的,我会走那条路。如果你沿着这条路走下去,骡子很棒。
答案 1 :(得分:0)
如果您尝试将数据从旧数据库移动到新数据库而不是异步执行,可能更简单的方法是sql注入。假设您的旧数据库允许您“导出”您的数据库,当您导出它时,您将下载一个sql文件。然后你可以在像记事本这样的程序中打开那个sql文件,并在新数据库的sql执行器中复制粘贴该代码,它将重新创建所有表并用旧数据填充它们。
答案 2 :(得分:0)
实际上,使用数据库工具将是在数据库之间复制数据的推荐方法。
使用消息传递时,无法保证数据将以与发送时相同的顺序传输并保证表之间的关系,从而可能导致复制错误,除非在JMS接收器端建立某种机制保持序列。但这看起来很像开销。