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
パッケージは、Data Studioのツール・スイートのジョブ機能で使用するスケジューリング関数およびプロシージャのコレクションを提供します。
DBMS_DATA_TOOLS_JOBパッケージ・サブプログラム
次の表は、DBMS_DATA_TOOLS_JOB
サブプログラムを示し、簡単に説明しています。
Table 3-11 DBMS_DATA_TOOLS_JOB Names and description for the DBMS_DATA_TOOLS_JOB Subprograms
サブプログラム | 説明 |
---|---|
ジョブの作成プロシージャ | このプロシージャは、新しいジョブを作成します。 |
ジョブの削除手順 | スケジューラからジョブを削除します。 |
ジョブ名の変更手順 | 目的の名前でジョブの名前を変更します。 |
ジョブの更新手順 | 既存のジョブの属性を変更します。 |
プロシージャの実行 | 定義したスケジュールに関係なく、すぐにジョブを実行します。 |
ジョブの停止プロシージャ | 実行中のジョブを停止します。これにより、ジョブが正常に終了し、必要に応じて強制的に停止します。 |
CREATE_JOBプロシージャ
このプロシージャは、1つのジョブを作成します。ジョブの作成時に有効属性を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プロシージャのパラメータ
表3-12 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はこのジョブを無視し、ジョブ・コーディネータは処理対象としてジョブを取得しません。ジョブ・コーディネータがジョブを処理できるようにするには、ジョブが使用可能である必要があります。ジョブを有効にするには、Enable Job アイコンを選択します。
|
レポート | この属性は、ジョブ機能の「レポート」ボタンを使用してジョブ実行の詳細を指定します。
これは、
dbms_live_feed のレポート引数に似たJSONオブジェクトです。次の要素を指定できます。
これらの4つの各要素は、 |
DELETE_JOBプロシージャ
このプロシージャは、ジョブを削除します。
構文
dbms_data_tools_job.delete_job(job_name in varchar2, owner in varchar2 default null);
DELETE_JOBプロシージャのパラメータ
表3-13 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プロシージャのパラメータ
表3-14 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プロシージャのパラメータ
表3-15 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プロシージャのパラメータ
表3-16 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プロシージャのパラメータ
表3-17 STOP_JOBプロシージャのパラメータ
パラメータ | 説明 |
---|---|
ジョブ名 |
停止するジョブの名前。既存のジョブの名前で、オプションでスキーマ名およびドット区切りが付加されます。 |
所有者 |
ジョブを停止するスキーマです。 |
強制 |
|