読者です 読者をやめる 読者になる 読者になる

山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

oracle mview更新にかかった時間を調べる

oracleのマテリアライズド・ビューは更新するデータ量が多かったりすると更新に時間がかかります。サーバーに負荷がかかっているときは更新にかかった時間を知りたい場合があります。

all_mviewsなどのlast_refresh_dateは、厳密には
mview更新が失敗しなかった場合の
更新開始日時
が入っているもようです。
したがって更新にどれくらい時間がかかったかはわかりません。

更新にかかった時間を知るにはdba_scheduler_job_run_detailsテーブルを見ます。actual_start_dateが実際の更新を始めた日時、log_dateが終了の日時になっています。

SQLの例

select * from
(select actual_start_date,log_date,job_name 
from
dba_scheduler_job_run_details order by actual_start_date desc)
where rownum<300;

実行結果の例

ACTUAL_START_DATE
---------------------------------------------------------------------------
LOG_DATE
---------------------------------------------------------------------------
JOB_NAME
--------------------------------------------------------------------------------
15-12-16 14:05:00.096977 ASIA/TOKYO
15-12-16 14:05:00.355703 +09:00
REF_MV_TRIAL_JUCHUU_NUM

15-12-16 14:03:00.096473 ASIA/TOKYO
15-12-16 14:03:02.439539 +09:00
REFRESH_MVIEW_M_SHOUHIN