スケジューラによるタスクの自動化

スケジューラーコンポーネントの概要

  • Program:スケジューラ・プログラム・オブジェクトは、スケジューラによって実行される内容に関するメタデータの集合です。プログラム・オブジェクト名、プログラムの処理、プログラム・タイプおよびプログラムに必要な引数の数などの情報が含まれます。
  • Schedule:スケジュールは、ジョブの実行時期と実行回数を指定します。ジョブは、後で処理するかまたは即時に処理するようにスケジュールできます。後で実行するジョブの場合、ユーザーはジョブの開始日時を指定できます。一定期間繰り返すジョブの場合は、スケジュールの終了時期を示す終了日時を指定できます。スケジュールには、特定のイベントが発生したときに実行するジョブも指定できます。プログラムと同様に、スケジュールは名前を付けてデータベースに保存できるオブジェクトです。名前付きのスケジュールは、複数のユーザーが共有できます。
  • Job:ジョブは、1回以上実行するようにスケジュールされるユーザー定義タスクです。ジョブは、実行する必要がある内容(処理)と実行時期(スケジュール)の組合せです。
  • Event:イベントは、なんらかの処理または発生が検出されたことを、アプリケーションまたはシステム・プロセスが別のアプリケーションまたはシステム・プロセスに示すために送信するメッセージです。イベントは、1つのアプリケーションまたはプロセスによって呼び出され(送信)、1つ以上のアプリケーションまたはプロセスによって使用されます(受信)。
  • Chain:チェーンは、結合した1つの目的のために互いにリンクされたプログラムのグループです。複数の相互依存プログラムのチェーン内にある各位置は、ステップと呼ばれます。通常は、最初の一連のチェーン・ステップを開始し、後続のステップは、1つ以上前のステップの完了に従って実行されます。
  • Job Class:
    • メンバーのジョブへの同じ属性値セットの割当て
    • メンバーのジョブに対するサービス・アフィニティの設定
    • メンバーのジョブに対するリソース割当ての設定
    • ジョブの優先順位によるグループ化
  • Window:日または週などの様々な期間中にリソース割当てを変更するには、ウィンドウを作成します。ウィンドウは、ジョブ・クラスを使用して、リソース割当てを制御します。各ウィンドウは、ウィンドウがオープンしたとき(アクティブになったとき)に、アクティブにするリソース・プランを指定し、各ジョブ・クラスは、リソース・コンシューマ・グループを指定するか、コンシューマ・グループにマップできるデータベース・サービスを指定します。したがって、ウィンドウ内で実行するジョブには、そのジョブ・クラスのコンシューマ・グループとウィンドウのリソース・プランに応じてリソースが割り当てられます。
  • Window Group:ジョブのスケジュールで、ウィンドウを使いやすいようにグループ化できます。ウィンドウ・グループを使用すると、1日あるいは1週間などの間に複数期間実行するジョブを簡単にスケジュールできます。

スケジューラーコンポーネントの設定

Program設定

DBMS_SCHEDULER.CREATE_PROGRAM:プログラム作成
DBMS_SCHEDULER.DEFINE_PROGRAM_ARGUMENT:プログラム引数定義
DBMS_SCHEDULER.SET_ATTRIBUTE:プログラム変更
DBMS_SCHEDULER.DROP_PROGRAM:プログラム削除
DBMS_SCHEDULER.ENABLE/DISABLE:プログラム有効化/無効化

Scheduler設定

DBMS_SCHEDULER.CREATE_SCHEDULE :スケジューラー作成
DBMS_SCHEDULER.SET_ATTRIBUTE:スケジューラーの変更
DBMS_SCHEDULER.DROP_SCHEDULE :スケジューラーの削除

スケジューラーのカレンダー指定構文使用例

Jobの設定

DBMS_SCHEDULER.CREATE_JOB/DROP_JOB:ジョブの作成/削除
DBMS_SCHEDULER.SET_ATTRIBUTE:ジョブの変更
DBMS_SCHEDULER.RUN_JOB/STOP_JOB:ジョブの実行/停止
DBMS_SCHEDULER.COPY_JOB:ジョブのコピー
DBMS_SCHEDULER.ENABLE/DISABLE:ジョブの有効化/無効化

Chainの設定

DBMS_SCHEDULER.CREATE_CHAIN/DROP_CHAIN:チェーンの有効化/無効化
DBMS_SCHEDULER.ALTER_CHAIN/ALTER_RUNNING_CHAIN:チェーンの変更/実行中チェーンの変更
DBMS_SCHEDULER.SET_ATTRIBUTE:チェーンの変更
DBMS_SCHEDULER.DEFINE_CHAIN_RULE/DROP_CHAIN_RULE:チェーンのルール追加或いは変更/ルールの削除
DBMS_SCHEDULER.DEFINE_CHAIN_STEP/DROP_CHAIN_STEP:チェーンのステップ追加或いは変更/ステップの削除
DBMS_SCHEDULER.ENABLE/DISABLE:チェーンの有効化/無効化
DBMS_SCHEDULER.RUN_CHAIN:チェーンの実行

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License