eygle.com   eygle.com
eygle.com eygle

« Office、AcitiveSync 以及 我所浪费的时间 | Blog首页 | 《深入浅出Oracle》一书的电子版下载 »

三言两语 - 关于JOB Queue的文档摘要

1.JOB 进程

Job queue processes are used for batch processing. They run user jobs. They can be viewed as a scheduler service that can be used to schedule jobs as PL/SQL statements or procedures on an Oracle instance. Given a start date and an interval, the job queue processes try to run the job at the next occurrence of the interval.

Job queue processes are managed dynamically.Dynamic job queue processes can run a large number of jobs concurrently at a given interval. The job queue processes run user jobs as they are assigned by the CJQ process. Here's what happens:

  1. The coordinator process, named CJQ0, periodically selects jobs that need to be run from the system JOB$ table. New jobs selected are ordered by time.

  2. The CJQ0 process dynamically spawns job queue slave processes (J000...J999) to run the jobs.

  3. The job queue process runs one of the jobs that was selected by the CJQ process for execution. The processes run one job at a time.

  4. After the process finishes execution of a single job, it polls for more jobs. If no jobs are scheduled for execution, then it enters a sleep state, from which it wakes up at periodic intervals and polls for more jobs. If the process does not find any new jobs, then it aborts after a preset interval.

The initialization parameter JOB_QUEUE_PROCESSES represents the maximum number of job queue processes that can concurrently run on an instance. However, clients should not assume that all job queue processes are available for job execution.


Each RAC instance has its own job coordinator. The database monitoring checks that determine whether or not to start the job coordinator do take the service affinity of jobs into account. For example, if there is only one job scheduled in the near future and the job class to which this job belongs has service affinity for only two out of the four RAC instances, only the job coordinators for those two instances will be started.


Because you can create jobs at the instance level, cluster level, or cluster database level, jobs can run on any available host in the cluster database.

You can administer Enterprise Manager jobs at both the database and instance levels. For example, you can create a job at the cluster database level and the job will run on any active instance of the target Oracle RAC database. Or you can create a job at the instance level and the job will only run on the specific instance for which you created it. In the event of a failure, recurring jobs can run on a surviving instance.

    >> 2009-01-30文章:
    >> 2008-01-30文章:
    >> 2007-01-30文章:
    >> 2006-01-30文章:
    >> 2005-01-30文章:

By eygle on 2010-01-30 08:20 | Comments (1) | FAQ | 2500 |

1 Comment


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com