Disabling (or enabling) general job execution in Oracle 10g

Hi,

disabling and enabling job execution in Oracle DB has two ways: If you are using dbms_jobs, it’s handy to set job_queue_processes to zero to disable the execution of jobs, and set it to a value >0 (maybe 100) to enable.

If you are using dbms_scheduler, this parameter does not work for you. You will have to use package functions to disable

dbms_scheduler.set_scheduler_attribute('SCHEDULER_DISABLED','TRUE');

or to enable

dbms_scheduler.set_scheduler_attribute('SCHEDULER_DISABLED','FALSE');

job execution. Keep the reverse sense of the TRUE/FALSE parameters in mind (you are deciding whether to DISABLE the scheduler or not)!

Hope this helps
Usn




You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

4 Responses to “Disabling (or enabling) general job execution in Oracle 10g”

  1. Jorn Hansen Says:

    What happens when I enable the dbms_scheduler? Will all scheduled jobs that have not been activated start running or will they reschedule using schedule information?

    It seems to me, that they will run all at once. I.e. if you have disabled the scheduler and now enable it, you might experience that a lot of jobs will run all in one burst.

  2. usn Says:

    Yes, they will run in one burst. That’s exactly what happens if you stop the database for some time and restart it: All missed jobs will start.

    Usn

  3. Yuri Says:

    from E17110-04:
    “If the value of JOB_QUEUE_PROCESSES is set to 0, then DBMS_JOB jobs and Oracle Scheduler jobs will not run on the instance.”

  4. usn Says:

    For 11gR2 this is obviously true. At the moment I can’t recall the exact case that led to this old blog post. 10g docs don’t mention dbms_scheduler for this parameter (B14237-04) and I can remember ugly problems with freezing a central job system based on dbms_scheduler for a maintenance window.

Leave a Reply