我有一个我已经使用了很长一段时间的视图,现在我在另一份工作之前每晚进行一次快速刷新。 PROC通过自动系统(Active Batch)调用,并包含以下刷新:
DBMS_MVIEW.REFRESH(LIST=>'GLMV_TAX_CODE_HIST',PARALLELISM => 8);
几个星期前,我随机开始收到此错误:
Exit Code Description: ORA-12008: error in materialized view refresh path
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2566
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2779
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2748
经过一些研究后发现,根据我的调查结果,这只是一个授予权限的问题,所以运行了以下内容,这似乎有效:
GRANT SELECT ON MLOG$_TAX_CODE_HIST TO MYUSER;
GRANT CREATE ANY materialized view to MYUSER;
GRANT ALTER ANY MATERIALIZED VIEW TO MYUSER;
Grant ALTER ANY SNAPSHOT to MYUSER;
Grant create session, alter any materialized view to MYUSER;
想到它可能是我调用PROC的用户的问题,但即使将其更改为Mview的创建者之后,仍然会得到相同的错误....现在奇怪的部分是,如果我通过客户端应用程序(Toad)登录,并且我作为同一个用户手动运行刷新,它工作正常,没有错误,但是当我尝试通过“Active Batch”工作流自动化调用它时,它再次发生...任何人都知道我在这里缺少什么?