DBMS_DATA_TOOLS_JOBSパッケージ・リファレンス
この章では、Data Studioの「ジョブ」機能で使用するパッケージについて説明します。DBMS_DATA_TOOLS_JOBSサブプログラムのサマリーのトピックでは、DBMS_DATA_TOOLS_JOBSパッケージに含まれるプロシージャについても説明します。
DBMS_DATA_TOOLS_JOBサブプログラムのサマリー
DBMS_DATA_TOOLS_JOBパッケージは、Data Studioツール・スイートの「ジョブ」機能で使用するスケジューリング・ファンクションおよびプロシージャのコレクションを提供します。
DBMS_DATA_TOOLS_JOBパッケージのサブプログラム
次の表は、DBMS_DATA_TOOLS_JOBのサブプログラムを示し、簡単に説明しています。
表19-2 DBMS_DATA_TOOLS_JOBのサブプログラムの名前と説明
| サブプログラム | 説明 |
|---|---|
| ジョブの作成プロシージャ | このプロシージャは、新しいジョブを作成します。 |
| ジョブの削除プロシージャ | スケジューラからジョブを削除します。 |
| ジョブ名の変更プロシージャ | 希望する名前でジョブの名前を変更します。 |
| ジョブの更新プロシージャ | 既存のジョブの属性を変更します。 |
| 実行プロシージャ | 定義したスケジュールに関係なく、すぐにジョブを実行します。 |
| ジョブの停止プロシージャ | 実行中のジョブを停止します。これにより、ジョブが正常に終了し、必要に応じて強制的に停止します。 |
CREATE_JOBプロシージャ
このプロシージャは、1つのジョブを作成します。ジョブの作成時にenabled属性をTRUEに設定して有効にすると、Schedulerによりスケジュールに従って自動的にジョブは実行されます。ジョブの作成時に無効にすると、「ジョブの有効化」機能を使用してジョブを有効にするまでジョブは実行されません。
構文
dbms_data_tools_job.create_job(
job_name in varchar2,
description in varchar2,
steps in clob,
owner in varchar2 default null,
start_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
repeat_interval IN VARCHAR2 DEFAULT NULL,
end_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
job_class IN VARCHAR2 DEFAULT NULL,
enabled IN BOOLEAN DEFAULT FALSE,
reporting in clob default null);
CREATE_JOBプロシージャのパラメータ
表19-3 CREATE_JOBプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
| ジョブ名 | ジョブに割り当てる名前。job_nameを指定しない場合、エラーが発生します。
|
| 説明 | これは、ジョブに対して設定される追加情報を指します。 |
| ステップ | これは、ジョブで構成される、Data Studioツールが実行する様々なタスクを指します。
ステップはJSON配列です。各配列要素はJSONオブジェクトです。すべてのオブジェクトに適用されるJSON要素を次に示します:
各オブジェクト・タイプには、タイプに応じて追加要素がいくつかあります。 data_load:
smart_table:
procedure:
|
| 所有者 |
ジョブが作成されるスキーマです。スキーマを指定せずにジョブを作成した場合、所有者は |
| 開始日 |
ジョブの開始がスケジュールされている最初の日時を指定します。 カレンダ式を使用して反復間隔を指定する繰返しジョブの場合は、 Schedulerでは、ジョブが正確な時間に実行されることを保証しません。これは、システムがオーバーロードしてリソースが使用できない場合があるためです。 |
| 繰返し間隔 |
この属性は、ウィンドウを繰り返す間隔を指定します。これは、Schedulerのカレンダ構文を使用して表されます。詳細は、「カレンダ構文」を参照してください。 PL/SQL式を使用して、ウィンドウの反復間隔を指定することはできません。 指定した式は、ウィンドウの次回のオープンを決定するために評価されます。 |
| 終了日 |
この属性は、ジョブの期限が切れる日時(これ以降にジョブは実行されなくなります)を指定します。
end_dateの値が指定されていない場合、stop jobを指定しないかぎり、ジョブは永久に繰り返されます。
|
| ジョブ・クラス | このジョブに関連付けるクラス。 |
| 有効 | ジョブを使用可能で作成するかどうかを指定します。TRUEまたはFALSEを設定できます。デフォルトではFALSEに設定されるため、ジョブは使用禁止で作成されます。使用禁止ジョブとは、ジョブに関するメタデータが取得され、ジョブがデータベース・オブジェクトとして存在することを意味します。ただし、Schedulerはこのジョブを無視し、ジョブ・コーディネータは処理対象としてジョブを取得しません。ジョブ・コーディネータがジョブを処理できるようにするには、ジョブが使用可能である必要があります。ジョブを有効にするには、「ジョブの有効化」アイコンを選択します。
|
| レポート | この属性は、「ジョブ」機能の「レポート」ボタンを使用してジョブ実行の詳細を指定します。
これは、
dbms_live_feedのレポート引数に似たJSONオブジェクトです。次の要素を指定できます:
これらの4つの各要素は、 |
DELETE_JOBプロシージャ
このプロシージャは、ジョブを削除します。
構文
dbms_data_tools_job.delete_job(job_name in varchar2, owner in varchar2 default null);DELETE_JOBプロシージャのパラメータ
表19-4 DELETE_JOBプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
| ジョブ名 | ジョブに割り当てる名前。job_nameを指定しない場合、エラーが発生します。
|
| 所有者 |
ジョブが作成されるスキーマです。スキーマを指定せずにジョブを作成した場合、所有者は |
RENAME_JOBプロシージャ
このプロシージャは、ジョブの名前を変更します。
構文
dbms_data_tools_job.rename_job(old_job_name in varchar2,
new_job_name in varchar2,
owner in varchar2 default null);
RENAME_JOBプロシージャのパラメータ
表19-5 RENAME_JOBプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
| 古いジョブ名 | 既存のジョブの名前。 |
| 新規ジョブ名 |
新しいジョブの名前。 |
| 所有者 |
ジョブが作成されるスキーマです。 |
UPDATE_JOBプロシージャ
このプロシージャは、既存のジョブ属性を更新します。
構文
dbms_data_tools_job.update_job(job_name in varchar2,
owner in varchar2 default null,
description in varchar2 default null,
steps in clob default null,
start_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
repeat_interval IN VARCHAR2 DEFAULT NULL,
end_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
job_class IN VARCHAR2 DEFAULT NULL,
enabled IN BOOLEAN DEFAULT NULL,
reporting in clob default null);
UPDATE_JOBプロシージャのパラメータ
表19-6 UPDATE_JOBプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
| ジョブ名 | 更新するジョブの名前。 |
| 所有者 |
ジョブが更新されるスキーマです。 |
| 説明 | 適用する更新された説明。 |
| ステップ | 更新する新しいステップ。 |
| 開始日 | 新しい開始日。 |
| 繰返し間隔 | 更新された繰返し間隔。 |
| 終了日 | 更新された終了日。 |
| ジョブ・クラス | 更新されたジョブ・クラス。 |
| 有効 | 有効または無効にできます。 |
| レポート | 更新されたレポート属性。 |
実行プロシージャ
このプロシージャは、ジョブをただちに実行します。
ジョブが使用可能である場合は、Schedulerによって自動的に実行されます。スケジュールに従ってジョブを実行する場合は、RUN_JOBをコールする必要はありません。通常のスケジュール以外でジョブを実行する場合に、RUN_JOBを使用します。
構文
dbms_data_tools_job.run(job_name in varchar2,
owner in varchar2 default null,
use_current_session in number default null,
options in clob default null);RUNプロシージャのパラメータ
表19-7 RUNプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
| ジョブ名 |
ジョブ名またはエントリのカンマ区切りリスト(それぞれが既存のジョブの名前であり、オプションでスキーマ名およびドット区切りを接頭辞として付加できます)。 複数の接続先ジョブを指定すると、ジョブはすべての接続先で実行されます。この場合、 |
| 所有者 |
ジョブが実行されるスキーマです。 |
| 現在のセッションを使用 |
プロシージャを起動したセッションで、ジョブを実行するかどうかを指定します。 use_current_sessionをTRUEに設定した場合は、次のようになります。
use_current_sessionをFALSEに設定した場合は、次のようになります。
|
| オプション |
STOP_JOBプロシージャ
このプロシージャは、現在実行中のジョブ、またはジョブ・クラス内のすべてのジョブを停止します。
ジョブの停止後、1回かぎりのジョブのSTATEはSTOPPEDに設定され、繰返しジョブのSTATEは、ジョブの次の実行がスケジュールされているかどうかによって、SCHEDULEDまたはCOMPLETEDに設定されます。
構文
dbms_data_tools_job.stop_job(job_name in varchar2,
owner in varchar2 default null,
force in boolean default false);
STOP_JOBプロシージャのパラメータ
表19-8 STOP_JOBプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
| ジョブ名 |
停止するジョブの名前。既存のジョブの名前。オプションでスキーマ名およびドット区切りが接頭辞として付加されます。 |
| 所有者 |
ジョブが停止されるスキーマです。 |
| 強制 |
|