更新物化视图的权限问题

更新物化视图的权限问题
2010-4-14
遇到的问题:

schema hifind 拥有一个物化视图PERSON,other schema hrdwrite想去更新这个物化视图。
在刷新时报错:

SQL> conn hrdwrite/password;
Connected.
SQL> BEGIN DBMS_MVIEW.REFRESH(LIST=>'HIFIND.PERSON', method=>'c'); END;
  2  /
BEGIN DBMS_MVIEW.REFRESH(LIST=>'HIFIND.PERSON', method=>'c'); END;
*
ERROR at line 1:
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2251
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2457
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2426
ORA-06512: at line 1


解决办法:
grant ALTER ANY MATERIALIZED VIEW to hrdwrite。


SQL> conn /as sysdba
Connected.
SQL> grant ALTER ANY MATERIALIZED VIEW to hrdwrite
  2  ;

Grant succeeded.

SQL> conn hrdwrite/password;
Connected.
SQL> BEGIN DBMS_MVIEW.REFRESH(LIST=>'HIFIND.PERSON', method=>'c'); END;
  2  /

PL/SQL procedure successfully completed.

SQL>

-THE END-

请使用浏览器的分享功能分享到微信等