job_queue_processes与job的关系

job在oracle中经常使用,下面简述一下参数job_queue_processes与job的关系。

在9i中,job_queue_processes默认是1,当改为0时,job将不能启动。

10g中,此参数的默认值是10

SQL> show parameter job
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes                  integer     10

在将此参数改为0的时候,dbms_job创建的job将不能在启动,但DBMS_SCHEDULER创建的job不会受此影响,这些job在视图DBA_SCHEDULER_JOBS可查看。

此参数还有另外一层意思,就是并行执行的job的个数,如果此参数设置是10,那么可以同时运行的job个数的上限就是10,假如此时你已经创建了10个job,并全都开始执行,当再创建新job的时候(且当前时间已经满足可以运行此job的时间了),那么这个job将会排队。

还有另外一种情况:当创建的job需要执行10个小时才能执行完,而此job的时间间隔只有1个小时,那么此job也只能是10个小时执行一次,在上一个job执行完成后,会立刻再次执行此job,以为了能够“尽快赶上”时间安排。如果想将此job停掉,我们通常的做法是编辑job,置为broken状态,可当此job在运行时不会受到任何限制,而像刚才描述的那样,每次需要10个小时的执行时间,而时间间隔仅仅1个小时,即便设置为broken状态,此job也不会有任何反应,在执行完这次之后,还会继续执行。除非drop掉此job,那么在当前执行完任务之后,此job将最终消失,这个过程可以在视图DBA_JOBS_RUNNING中可以查看的到。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10037372/viewspace-663272/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10037372/viewspace-663272/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值