如何在远程数据库上更频繁地更新物化视图

How to update Materialized views more frequently on a remote database

我们在远程数据库(使用 dblink)上创建的物化视图很少,这些视图是基于我们的 MAIN 数据库中的视图创建的。当前要求是每隔几分钟更新一次远程数据库上的这些物化视图。

  1. 我们可以快速刷新并在远程创建 MVLogs 吗 数据库而不是主数据库?
  2. 自认为是 用于创建 MView 的多个表的引用,如果 在视图使用的所有表上创建 MVLog?如果是的话,会 那是 MAIN 数据库的开销吗?
  3. 还有其他选择吗 通过它我们可以更频繁地刷新远程数据库上的 MView 不影响主数据库的性能?
  1. 需要在 table 所在的数据库中创建物化视图日志。假设所有 table 都驻留在主数据库上,所有实体化视图日志都需要在那里创建。
  2. 假设物化视图是 fast refreshable,您需要每个 table 上的物化视图日志,是的。这肯定会产生开销——物化视图日志必须同步维护。
  3. Oracle 拥有更复杂的复制技术,其中包括减少主数据库的负载。 Oracle GoldenGate 是未来的战略流解决方案。 Streams 是一项旧技术,无需额外许可即可进行实时复制,但 Streams 的终端版本是 18c。