Is there any way to limit number of IMMEDIATE/ONCE type jobs that can run simultanously.
Scenario: Parameter job_queue_processes is set to 10.
There's one recurring job (Name: TEST_JOB) configured which runs after every 1 seconds interval and performs a critical application processing task.
Application also has some batches which can be executed on request basis and these batches also use DBMS_SCHEDULER jobs for faster processing. These jobs are created automatically by the batch with AUTO_DROP=TRUE configuration and are to be executed only once. The number of jobs created by batch can range between 50 to 100 and these jobs are created under DEFAULT_CLASS.
Problem is, when a batch is executed, since the whole job_queue_processes slots/jobs are consumed by the jobs submitted by batch (as number of submitted jobs is higher than job_queue_processes value), the important recurring TEST_JOB has to wait for a running job to finish.
Is there any way to configure DBMS_SCHEDULER to use only 9 (out of 10) slots/jobs for one time execution jobs and keep 1 slot/job always available for recurring TEST_JOB.
Thanks for the help.