SQL> exec dbms_mview.refresh('os_int_use_rule'); begin dbms_mview.refresh('os_int_use_rule'); end; ORA-01031: 权限不足 ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2809 ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 3025 ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2994 ORA-06512: 在 line 1
由于物化视图不能直接操作更新记录,所以在原表增加记录,然后在本用户手动刷新,报错
解决bug尝试:
1、grant execute on dbms_mview to oss01;
2、grant execute on dbms_mview to oss01;
3、grant ALTER ANY MATERIALIZED VIEW to oss01;
在PL/SQL命令窗口用DBA用户执行以上语句授权给我的本地用户oss01,1和2无效,查找很多博客
原因是其他用户创建的物化视图,本地用户没有权限更新,使用3授权即可
物化视图oracle也有自动更新,一般是15分钟,等了20分组还没有刷新,就自己手动刷新
浪费了蛮多时间,留下这篇日志,希望看到的少走弯路