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

これは、他のテーブルまたはビュー(他のデータに依存する可能性があります)に依存し、依存関係が壊れているビューの一般的なケースです。この特定のケースでは、ビューは、列が欠落しているテーブルに依存する他のビューに依存していました。ヒントを与えてくれたFrostyZに感謝します

于 2012-01-20T14:35:34.087 に答える
1

私は他の場所で

ALTER MATERIALIZED VIEW schema_name.table_name COMPILE;

この問題を修正できます。

それは私にはうまくいきませんでした、そして私はマテリアライズド・ビューを完全にドロップして再作成する必要があります。

于 2016-01-08T15:42:24.613 に答える