Oracle DBMS_Snapshot.refresh无法在11g上工作,具体化视图错误
我在Oracle DBMS_Snapshot.refresh无法在11g上工作,具体化视图错误,oracle,oracle11g,ora-06512,Oracle,Oracle11g,Ora 06512,我在Oracle 10g上执行了DBMS\u Snapshot.refresh它工作得很好,但是当我在Oracle 11g上执行相同的操作时,它会出现以下错误 DBMS_SNAPSHOT.refresh('Table1','F'); BEGIN DBMS_SNAPSHOT.refresh('Table1','F'); END; . * ERROR at line 1: ORA-23401: materialized view "localuser"."Table1" doe
Oracle 10g
上执行了DBMS\u Snapshot.refresh
它工作得很好,但是当我在Oracle 11g
上执行相同的操作时,它会出现以下错误
DBMS_SNAPSHOT.refresh('Table1','F');
BEGIN DBMS_SNAPSHOT.refresh('Table1','F'); END;
.
*
ERROR at line 1:
ORA-23401: materialized view "localuser"."Table1" does not
exist
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2558
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2771
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2740
ORA-06512: at line 1
非常感谢您的帮助
问候
Nandish错误消息表明它正在以区分大小写的方式查找
“Table1”
。请尝试传入'TABLE1'
。好的,可能有很多原因
exec dbms_mview.refresh('Table1');
我的情况有点不同。DBMS_MVIEW.REFRESH('ABC.XYZ')调用发生在oracle存储过程(SCHEMA1.PROC1)中。我以另一个用户(UserA)的身份调用SP。我已将所有权限授予该用户,但未授予任何权限。显然,oracle似乎并不关心用户拥有的权限,而是寻找包所有者的权限。。这很奇怪,与我在各地准备的情况相反。。但它确实起了作用 没有工作: 将任何物化视图授予UserA 将ABC.MLOG$_XYZ上的SELECT授予UserA 工作: 允许更改SCHEMA1的任何物化视图
将ABC.MLOG$_XYZ上的SELECT授予UserA,SCHEMA1 这个错误看起来很能自我解释。关于错误消息,到底有什么是不清楚的?