4

有简单的刷新脚本:

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确实存在
  • 如果未指定架构,则结果相同
4

2 回答 2

1

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

于 2012-01-20T14:35:34.087 回答
1

我在其他地方读到过

ALTER MATERIALIZED VIEW schema_name.table_name COMPILE;

可以解决这个问题。

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

于 2016-01-08T15:42:24.613 回答