我有一系列需要访问彼此数据的Oracle数据库.最有效的方法是使用数据库链接 - 设置一些数据库链接我可以从A到B获取数据,而且操作起来很少.对我来说问题是你最终得到了一个紧密耦合的设计,如果一个数据库出现问题,它可以将耦合数据库带入它(或者可能是这些数据库上应用程序的一部分).
您尝试了哪些替代方法在Oracle数据库之间共享数据?
几个回复后更新......
我没有想太多的复制,更多的是访问"主数据".例如,如果我有一个具有货币转换率的中央数据库,我想将费率提取到一个单独的数据库(应用程序).对于这样一个小型数据集,igor-db建议使用DB链接的物化视图可以很好地工作.但是,当您从非常大的数据集中动态采样时,本地缓存选项开始变得更加棘手.在这种情况下你会选择什么选择.我想知道一个XML服务,但是tuinstoel(在对le dorfier的回复的评论中)正确地质疑了所涉及的开销.
回复摘要......
总的来说,我认为igor-db是最接近的,这就是为什么我接受了这个答案,但我想我会添加一点来提出其他一些答案.
就我的目的而言,我只关注数据复制,看起来Oracle BASIC复制(而不是ADVANCED)复制对我而言.使用主站点上的物化视图日志和快照站点上的物化视图看起来是一种很好的前进方式.
如果这不是一个选项,也许数据卷使全表复制成为问题,那么消息传递解决方案似乎是最合适的Oracle解决方案.Oracle Advanced Queuing似乎是设置消息传递解决方案的最快捷,最简单的方法.
最不可取的方法似乎是自己动手的XML Web服务,但仅限于高级排队相对容易的选项.
Streams是Oracle复制技术.您可以在数据库链接上使用MV(因此数据库'A'具有来自数据库'B'的数据的物化视图.如果'B'关闭,则MV无法刷新但数据仍在'A'中) .
里程可能取决于数据库卷,更改数量......