2


SELECT JOB FROM DBA_JOBS WHERE WHAT LIKE '%NAME_OF_MVIEW%'
mv という名前でマテリアライズド ビューを更新する更新ジョブの ID を取得するようなものを使用しています。
('WHAT' の内容はdbms_refresh.refresh('"SCHEMA_USER"."NAME_OF_MVIEW"'))

ジョブ ID と mv 名の両方を保持するテーブルまたはビューがあるかどうかを知りたいので select JOB ... where WHATEVER = 'NAME_OF_MVIEW'.
、リフレッシュ ジョブ ID を取得するより良い方法を使用できます。

ありがとう。

4

1 に答える 1

4

これを実行できます:

select m.*, r.job
  from dba_refresh r
       inner join dba_refresh_children rc
               on rc.rowner = r.rowner
              and rc.rname = r.rname
       inner join dba_mviews m
               on m.owner = rc.owner
              and m.mview_name = rc.name;

そして、mview の名前でフィルタリングする applicalbe where 句を追加します。

于 2013-01-16T12:38:52.923 に答える