Oracle刷新抛出一个表未找到异常

时间:2012-01-20 10:07:16

标签: oracle oracle10g refresh materialized-views

拥有简单的刷新脚本:

BEGIN 
DBMS_SNAPSHOT.REFRESH(
  LIST => 'SCHEMA_NAME.TABLE_NAME', 
  PUSH_DEFERRED_RPC => TRUE, 
  REFRESH_AFTER_ERRORS => FALSE, 
  PURGE_OPTION => 1, 
  PARALLELISM => 0, 
  ATOMIC_REFRESH => TRUE, 
  NESTED => FALSE); 
END;
甲骨文认为:

ORA-00942: table or view does not exist
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 2
00942. 00000 -  "table or view does not exist"

问题:我错过了什么?

注意:

  • 刷新MV确实存在
  • 如果未指定schema,结果是相同的

2 个答案:

答案 0 :(得分:1)

这是视图的常见情况,取决于其他一些表或视图(可能依赖于其他数据),具有破坏的依赖性。在这种特殊情况下,视图依赖于依赖于缺少列的表的其他视图。因为给Frosty Z而感谢hint

答案 1 :(得分:0)

我已在其他地方读过执行

的内容
ALTER MATERIALIZED VIEW schema_name.table_name COMPILE;

可以解决此问题。

它对我不起作用,我必须完全放弃并重新创建物化视图。