CJQ0
ジョブキューコーディネータープロセス(CJQ0)は、データディクショナリから実行する必要があるジョブを選択し、ジョブキュースレーブプロセス(Jnnn)を起動してジョブを実行するバックグラウンドプロセス。
CJQ0は、Oracle Schedulerによって必要に応じて自動的に起動および停止される。
JOB_QUEUE_PROCESSES初期化パラメーターは、ジョブの実行用に作成できるプロセスの最大数を指定する。
CJQ0は、実行するジョブの数と使用可能なリソースに必要な数のジョブキュープロセスのみを開始する。
ジョブキュースレーブプロセス(Jnnn)は、ジョブコーディネーターによって割り当てられたジョブを実行する。
処理するジョブが選択されると、ジョブスレーブは次のことを行う。
・プログラムの引数や特権情報など、ジョブの実行に必要なすべてのメタデータを収集する
・ジョブの所有者としてデータベースセッションを開始し、トランザクションを開始してから、ジョブの実行を開始する
・ジョブが完了すると、スレーブはトランザクションをコミットして終了する
・セッションを閉じる
ジョブが完了すると、スレーブは次のことを行う。
・必要に応じてジョブを再スケジュールする
・ジョブテーブルの状態を更新して、ジョブが完了したか、再度実行するようにスケジュールされているかを反映する
・ジョブログテーブルにエントリを挿入する
・実行カウントを更新し、必要に応じて、失敗と再試行のカウントを更新する
・クリーンナップ
・新しい仕事を探る(ない場合は、スリープ状態になる)
CJQ0とJnnnはどちらも、スレッドまたはオペレーティングシステムプロセスとして実行できる。