了解oracle计划作业停止运行的原因

了解oracle计划作业停止运行的原因,oracle,scheduler,jobs,Oracle,Scheduler,Jobs,我有一个由调度程序启动的作业,它在作业日志表中跟踪其子步骤。从昨天17点开始,它停止记录其活动。这可能意味着作业遇到错误,或者确实需要这么长的时间,但这不太可能,因为包含所有子步骤的整个作业通常不超过4小时 如果我运行exec DBMS_SCHEDULER.STOP_JOB_name=>'run_JOB',force=>true;它告诉我没有正在运行的作业。为了确定,我做了一个execdbms_调度程序;没有给出错误 查看sqldeveloper中的作业,我看到该作业已启用,并且应该每15分钟运

我有一个由调度程序启动的作业,它在作业日志表中跟踪其子步骤。从昨天17点开始,它停止记录其活动。这可能意味着作业遇到错误,或者确实需要这么长的时间,但这不太可能,因为包含所有子步骤的整个作业通常不超过4小时

如果我运行exec DBMS_SCHEDULER.STOP_JOB_name=>'run_JOB',force=>true;它告诉我没有正在运行的作业。为了确定,我做了一个execdbms_调度程序;没有给出错误

查看sqldeveloper中的作业,我看到该作业已启用,并且应该每15分钟运行一次,但在日志记录表中没有看到任何指示新作业已启动的输出

如何找出停止日志记录和未运行作业的原因? 我可以尝试通过execdbms_调度程序运行作业;但这只会掩盖假设它有效的实际错误

如何查看此作业的作业计划程序的内部状态?我特别感兴趣的是调度器如何处理仍在运行的作业,使其不会每15分钟启动一次,除非完成

SELECT JOB_NAME的输出,来自DBA_调度程序_JOBS的状态,其中JOB_NAME类似于“RUN_%”;是否计划运行作业

作业已运行\u计数和失败\u计数12

更多信息:如果我运行选择作业名称、状态、错误、其他信息、所有计划程序中的实际开始日期详细信息,其中作业名称(如“运行%”)按实际开始日期描述排序;
我收到关于ORA-00001的错误消息:违反了唯一约束\u MONITORING.JOB\u LOG\u PK。这可能意味着生成主键的序列有问题。

我通过调用以下命令找到了问题:

select JOB_NAME, STATUS, ERROR#, ADDITIONAL_INFO, ACTUAL_START_DATE from ALL_SCHEDULER_JOB_RUN_DETAILS where JOB_NAME like 'RUN_%' order by ACTUAL_START_DATE DESC;
这也有助于看到作业正在运行,但有错误:

SELECT * FROM DBA_SCHEDULER_JOBS WHERE JOB_NAME like 'RUN_%';