0

下午好,

我有 3 个数据库;SID 是 config、prod1 和 prod2。

我正在使用物化视图将配置数据库中 11 个表上的数据复制到其他两个数据库中。物化视图当前每五秒刷新一次,但如果它们在提交时更新将是理想的。

我遇到了这个网站 ,它解释说从远程数据库复制时不支持提交。

这就是我期望的工作

CREATE MATERIALIZED VIEW "schema"."table" USING INDEX REFRESH FORCE ON COMMIT AS select column1 from schema.table@config;

链接中建议了“使用主键按需快速刷新”的方法,但显然这是按需提供的。我想知道如果可能的话,为了让提交时刷新环境运行,任何人可能有什么想法?

谢谢

4

1 回答 1

1

您无法创建在提交时从远程表刷新的物化视图。从文档中:

刷新 ON COMMIT 的限制

包含对象类型或 Oracle 提供的类型的物化视图不支持此子句。

具有远程表的物化视图不支持此子句。

原因是数据库链接是在“子”数据库中定义的,而不是在“父”数据库中。因此,父数据库不可能自行触发或修改子数据库中的任何内容。

如果您想要一个表的 100% 实时副本,我建议您使用视图。

如果您想在提交时复制数据,您可以修改您的 DML 过程,以便它们同时更新子远程表。

于 2012-09-03T12:54:59.033 回答