3

私は、別の仕事の前に毎晩高速リフレッシュを実行する、かなり長い間使用してきた実体化されたビューを持っています。PROC は自動化されたシステム (アクティブ バッチ) を介して呼び出され、次の更新が含まれます。

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) と同じユーザーとして手動で更新を実行すると、正常に動作し、エラーは発生しませんが、「アクティブ バッチ」ワークフロー オートメーションを介して呼び出そうとするとすぐに、再び発生します....ここで何が欠けているのか分かりますか?

4

0 に答える 0