开发找到我,当尝试删除一个schedule job时报错,提示在执行中
查看DBA_SCHEDULER_RUNNING_JOBS 发现确实有一个job 但是session id为空,也就不是无法通过kill的方式终止该job
那该如何处理呢,步骤如下 请参考
SQL> select job_name ,session_id,elapsed_time from DBA_SCHEDULER_RUNNING_JOBS;
JOB_NAME SESSION_ID ELAPSED_TIME
------------------------------ ---------- ---------------------------------------------------------------------------
RUN_DATA +009 07:32:04.92
SQL>
SQL> exec dbms_scheduler.set_scheduler_attribute('SCHEDULER_DISABLED','TRUE');
PL/SQL procedure successfully completed.
SQL> exec dbms_scheduler.stop_job('CACHE.RUN_DATA',TRUE);
PL/SQL procedure successfully completed.
SQL> exec dbms_scheduler.drop_job('CACHE.RUN_DATA',TRUE);
PL/SQL procedure successfully completed.
SQL> exec dbms_scheduler.set_scheduler_attribute('SCHEDULER_DISABLED','FALSE');
PL/SQL procedure successfully completed.
SQL> select job_name ,session_id,elapsed_time from DBA_SCHEDULER_RUNNING_JOBS;
no rows selected
SQL>
SQL>
参考文档
Dead Job Still In DBA_SCHEDULER_RUNNING_JOBS (Doc ID 2019899.1)