我有一系列需要访问彼此数据的 Oracle 数据库。最有效的方法是使用数据库链接 - 设置一些数据库链接,我可以毫不费力地从 A 到 B 获取数据。对我来说,问题是你最终会得到一个紧密耦合的设计,如果一个数据库出现故障,它可以带来耦合的数据库(或者可能是这些数据库上的应用程序的一部分)。

您尝试过哪些替代方法来在 Oracle 数据库之间共享数据?

几次回复后更新...

我没想那么多复制,更多的是访问“主数据”。例如,如果我有一个带有货币兑换率的中央数据库,并且我想将一个汇率提取到一个单独的数据库(应用程序)中。对于这么小的数据集,igor-db 建议通过 DB 链接实现物化 View 会很好地工作。然而,当您从一个非常大的数据集中动态采样时,本地缓存的选项开始变得更加棘手。在这些情况下,您会选择哪些选项。我想知道 XML 服务,但 tuinstoel(在对 le dorfier 回复的评论中)正确地质疑了所涉及的开销。

回复摘要...

总的来说,我认为 igor-db 最接近,这就是我接受该答案的原因,但我想我会添加一些内容以显示其他一些答案。

就我的目的而言,我只关注数据复制,看起来 Oracle BASIC 复制(而不是 ADVANCED)复制适合我。在主站点上使用物化 View 日志和在快照站点上使用物化 View 看起来是一种很好的前进方式。

如果这不是一个选项,也许数据量使全表复制成为一个问题,那么消息传递解决方案似乎是最合适的 Oracle 解决方案。 Oracle Advanced Queuing 似乎是设置消息传递解决方案的最快捷、最简单的方法。

最不优选的方法似乎是推出自己的 XML Web 服务,但仅适用于高级排队相对容易的情况。

最佳答案

Streams 是 Oracle 复制技术。
您可以通过数据库链接使用 MV(因此数据库“A”具有数据库“B”中数据的物化 View 。如果“B”出现故障,则无法刷新 MV,但数据仍在“A”中) .

里程可能取决于数据库卷,更改卷......

关于database - 在数据共享方面,解耦数据库设计的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/467420/

10-12 01:26
查看更多