官方文档中的说明:
JOB_QUEUE_PROCESSES
specifies the maximum number of job slaves per instance that can be created for the execution of DBMS_JOB
jobs and Oracle Scheduler (DBMS_SCHEDULER
) jobs. DBMS_JOB
and Oracle Scheduler share the same job coordinator and job slaves, and they are both controlled by the JOB_QUEUE_PROCESSES
parameter.
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.
If JOB_QUEUE_PROCESSES
is set to a value in the range of 1
to 1000
, then DBMS_JOB
jobs and Oracle Scheduler jobs will run. The actual number of job slaves created for Oracle Scheduler jobs is auto-tuned by the Scheduler depending on several factors, including available resources, Resource Manager settings, and currently running jobs. However, the combined total number of job slaves running DBMS_JOB
jobs and Oracle Scheduler jobs on an instance can never exceed the value of JOB_QUEUE_PROCESSES
for that instance.
Advanced replication uses Oracle Scheduler for data refreshes. Oracle Streams Advanced Queuing uses Oracle Scheduler for message propagation. Materialized views use Oracle Scheduler for automatic refreshes. Setting JOB_QUEUE_PROCESS
to 0 will disable these features as well as any other features that use Oracle Scheduler or DBMS_JOB
.
job_queue_processes指每个实例中job进程的最大值。这个job包括dbms_job与 dbms_scheduler job。这两者共享相同的job协调进程与job 执行进程。
job_queue_processes设置为0,不会执行任何job。
job_queue_processes设置成1~1000之间的值,实际的job进程数量受很多因素的影响,包括可用资源、资源管理设置,当前处于运行中job。然而运行job的总的job进程数不会超过job_queue_processes的设置。job_queue_process可以表示为oracle能够并发的job的数量,当job_queue_process值为0时表示全部停止oracle的job
另外高级复制的数据刷新,物化视图的刷新,应该都会用到oracle scheduler. 把job_queue_processes设置为0,会禁用使用了 scheduler或job 的这些特性。
job使用参考:
job_queue_processes参数讲解_脑子进水养啥鱼?的博客
标签:jobs,JOB,queue,Oracle,job,Scheduler,ORACLE From: https://www.cnblogs.com/JennyYu/p/16937110.html