ORA-30372 细粒度访问策略与物化视图冲突

ORA-30372 fine grain access policy conflicts with materialized view

我正在尝试创建实体化视图,它将 运行 每 6 小时在 DB1 上,并从 DB2 table 复制数据。 我在 DB2 远程 table.

上创建了 MLOG$_REMOTE_TABLE1

我正在使用 Oracle 11g(p.s oracle 12g 在执行此脚本时没有问题)

在执行下面的脚本时,出现错误:

CREATE MATERIALIZED VIEW REPL_TABLE1
REFRESH FORCE ON DEMAND
START WITH SYSDATE NEXT SYSDATE + 6/24
ENABLE QUERY REWRITE
AS
SELECT * FROM REMOTE_TABLE1_SYN;

ORA-30372: fine grain access policy conflicts with materialized view

你能告诉我为什么我在 11g 上有这个问题而不是在 12g 上吗(这是 11g 的错误)? 我该如何解决?

我使用

找到了解决方案
REFRESH FORCE ON DEMAND WITH ROWID USING TRUSTED CONSTRAINTS

在我的例子中,我有 table 和 aprox。 100 条记录,它很小 table 所以我可以使用 ROWID。 但是在 Big table 上使用 ROWID 并不是一个好主意,因为它会在整个 table 中搜索行,而 table 的复制将花费很长时间。

您只需要: 按需刷新强制使用受信任的约束

这样您的查询就可以忽略 Oracle VPD 强加的限制。