您的位置:首页 > 产品设计 > UI/UE

[翻译自mos文章]当job_queue_processes=0 时,cjq 进程依然启动

2014-07-09 21:13 218 查看
当job_queue_processes=0 时,cjq 进程依然启动

参考原文
CJQ Process Starts Even When job_queue_processes=0 (Doc ID 413399.1)

适用于
oracle server 企业版 10.2.0.1 and later

症状:

当job_queue_processes=0 时, cjq 进程被启动。
文档(http://docs.oracle.com/cd/B19306_01/server.102/b14220/process.htm#i21263)上说:
如果初始化参数job_queue_processes=0,协调器进程(coordinator process)不会被启动。

原因:

这是期望的行为,只要有定义并且活动(active)的scheduler jobs.
从这个文档(http://st-doc.us.oracle.com/10/102/server.102/b14231/schedadmin.htm#sthref3776)中有如下的记载
--->额外注意:上面的这个链接打不开
如果初始化参数被设置为0 ,或者根本就没有设置,那么DBMS_JOB jobs 是不会运行的。

但是,自动启动和停止特性将会被所有的DBMS_SCHEDULER jobs and windows 使用。
如果有DBMS_SCHEDULER job 被执行,the coordinator进程将会被启动,进而 job将会被执行。

--->注意:DBMS_JOB jobs 和 DBMS_SCHEDULER job 是不同的job类型。

解决方案:

若是绝对需要,job可以被disabled掉:

BEGIN
FOR job_rec IN (SELECT job_name FROM dba_scheduler_jobs) LOOP
DBMS_SCHEDULER.DISABLE(job_rec.job_name);
END LOOP;
END;
/

然而,这不是推荐的方法,除非为了测试 当 job_queue_processes=0 的情况下 启动database 时,cjq进程的启动。

--->注意:cjq 是coordinator job queue进程的缩写。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐