How to disable the scheduler using SCHEDULER_DISABLED attribute in 10g (文档 ID 1491941.1)
如何在10g中禁止使用SCHEDULER_DISABLED属性的调度程序
Oracle Server - Enterprise Edition - Version 10.1.0.2 and later
Information in this document applies to any platform.
通过执行以下语句来禁用调度程序,以进行维护工作:
DBMS_SCHEDULER.set_scheduler_attribute('SCHEDULER_DISABLED', 'TRUE');
然而在运行上述命令后,作业仍运行在计划时间内。
在10.2版本中不能禁用调度程序
这是oracle 11.2的新功能
oracle官方文档允许我们仅对以下属性使用dbms_scheduler.set_scheduler_attribute:
default_timezone, max_job_slave_processes, and log_history.
请参考Oracle Database PL/SQL Packages and Types Reference.
此程序包不支持SCHEDULER_DISABLED,不能保证正常工作。
在某些情况下,可能会工作,如果您允许coordinator 和 slaves在退出以后使用SCHEDULER_DISABLED。
如果执行dbms_scheduler.run_job,作业将仍然运行。
在11GR2上:
从此版本开始,通过将job_queue_processes设置为0,将停止所有作业进程,这意味着DBMS_SCHEDULER jobs,autotask jobs和DBMS_JOB jobs无法运行。
当使用先前版本时,仅将DBMS_JOB jobs在将job_queue_processes更改为0后被禁用。
因此,为了停止11gR2及更高版本中的调度程序作业,将参数job_queue_processes设置为0就足够了。