2017-08-04 447 views
1

我试图创建物化视图,它将在DB1每6小时运行一次,并从DB2表复制数据。 我在DB2远程表上创建了MLOG $ _REMOTE_TABLE1。ORA-30372细粒度访问策略与物化视图冲突

我使用Oracle 11g(PS甲骨文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的包)? 我该如何解决它?

回答

1

我找到了一个解决方案通过使用

REFRESH FORCE ON DEMAND WITH ROWID USING TRUSTED CONSTRAINTS 

在我来说,我有表aprox的。 100条记录,这是一个小表,所以我可以使用ROWID。 但是在Big表上使用ROWID不是个好主意,因为它会搜索整个表中的行,并且表的复制需要很长时间。