Oracle Database上でスケジューリングしたジョブを実行した後、どれくらいの時間でジョブが完了したか気になることがあると思います。
今回は、ジョブの実行開始時間と実行時間を確認するSQLを紹介します。
ジョブの実行時間確認方法
DBA_SCHEDULER_JOB_RUN_DETAILSに対して、以下のSQLで確認できます。
SELECT JOB_NAME, ACTUAL_START_DATE, RUN_DURATION, STATUS
from DBA_SCHEDULER_JOB_RUN_DETAILS
where JOB_NAME = ‘<ジョブ名>’
order by ACTUAL_START_DATE;
以下は毎日3時から実行するジョブに対して確認した結果となります。
ACTUAL_START_DATE はジョブスケジューラの開始時間、RUN_DURATION でジョブ走行時間を確認できます。
SQL>SELECT JOB_NAME, ACTUAL_START_DATE, RUN_DURATION, STATUS
2 from DBA_SCHEDULER_JOB_RUN_DETAILS
3 where JOB_NAME = 'DEKIRU_ORACLE_JOB'
4 order by ACTUAL_START_DATE;
JOB_NAME ACTUAL_START_DATE RUN_DURATION STATUS
-------------------- ------------------------------ --------------- ---------------
DEKIRU_ORACLE_JOB 20-01-10 03:00:00.936365 JST +000 01:58:34 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-11 03:00:00.934310 JST +000 01:58:14 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-12 03:00:00.933109 JST +000 01:58:17 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-13 03:00:00.928109 JST +000 01:58:31 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-14 03:00:00.935561 JST +000 01:58:48 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-15 03:00:00.930007 JST +000 01:58:06 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-16 03:00:00.931576 JST +000 01:58:36 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-17 03:00:00.930643 JST +000 01:58:29 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-18 03:00:00.937959 JST +000 01:58:18 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-19 03:00:00.930705 JST +000 01:58:55 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-20 03:00:00.935823 JST +000 01:58:36 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-21 03:00:00.932403 JST +000 01:58:47 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-22 03:00:00.933908 JST +000 01:58:26 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-23 03:00:00.926943 JST +000 01:58:31 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-24 03:00:00.931971 JST +000 01:58:21 SUCCEEDED
DEKIRU_ORACLE_JOB 20-01-25 03:00:00.937529 JST +000 01:58:00 SUCCEEDED
30行が選択されました。
現在実行中のジョブの確認方法
DBA_SCHEDULER_RUNNING_JOBSに対して、以下のSQLで確認できます。
SELECT JOB_NAME, ELAPSED_TIME from DBA_SCHEDULER_RUNNING_JOBS;
ELAPSED_TIMEは実行経過時間です。
SQL>SELECT JOB_NAME, ELAPSED_TIME from DBA_SCHEDULER_RUNNING_JOBS;
JOB_NAME ELAPSED_TIME
-------------------- --------------------
DEKIRU_ORACLE_JOB +000 00:49:30.72