PR

Oracle Database スケジューラジョブの実行時間確認方法

スポンサーリンク
ORACLE

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