ITPub博客

首页 > Linux操作系统 > Linux操作系统 > job_queue_processes与job的关系

job_queue_processes与job的关系

原创 Linux操作系统 作者:jack22220613 时间:2010-05-20 21:38:11 2 删除 编辑

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博客 ” ,链接:https://blog.itpub.net/10037372/viewspace-663272/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-05-13

  • 博文量
    94
  • 访问量
    385660