【发布时间】:2017-10-01 13:52:34
【问题描述】:
我在使用 DBMS 调度程序每晚凌晨 1 点运行的数据库上有一个作业。
我还希望能够随时手动运行作业。
我通过跑步来做到这一点
execute dbms_scheduler.run_job('JOB_NAME');
这一切正常并且作业确实运行了,但是当我在 DBA_SCHEDULER_JOBS 上查找作业时,LAST_RUN_DATE 列仍然只保存作业上次运行的日期从调度程序(凌晨 1 点)而不是当我手动运行它时。这对任何人都有意义吗。我希望能够获得上次运行作业的时间,以便向用户展示正在运行它。
这是我要查找 LAST_RUN_DATE 的查询,
SELECT LAST_START_DATE
FROM DBA_SCHEDULER_JOBS
WHERE job_name='JOB_NAME';
我的解决方法是使用它来获取最后日期,但它似乎不正确:
select log_date, job_name, status, run_duration
from dba_scheduler_job_run_details
where job_name='JOB_NAME'
【问题讨论】:
-
“看起来不对”:请详细说明。
标签: oracle plsql dbms-scheduler