RUN_JOB プロシージャは、ジョブを即座に実行するために使用されます。
ジョブが有効な場合、Schedulerはジョブのスケジュールに従って自動的にジョブを実行します。RUN_JOB を呼び出してジョブを実行する必要はありません。RUN_JOB は、通常のスケジュール外で実行されるジョブを実行するためにのみ呼び出します。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_SCHEDULER.RUN_JOB (
job_name IN VARCHAR2,
force IN BOOLEAN );
パラメータ説明
パラメータ |
説明 |
|---|---|
| job_name | ジョブ名、またはカンマ区切りの名前リストを指定します。リスト内の各項目は既存のジョブ名であり、名前の前にはオプションでスキーマ名とピリオド区切り文字を追加できます。複数の宛先を指定したジョブは、すべての宛先で実行されます。 |
| force | ジョブを強制的に実行するかどうかを示します。TRUE に設定すると強制実行されます。 |
使用方法
ジョブが無効な場合、ジョブを実行する前に以下の有効性チェックが実行されます:
ジョブは有効なジョブクラスを指しています。
ジョブ所有者はジョブクラスに対して
EXECUTE権限を持っています。プログラムを参照している場合、そのプログラムは存在している必要があります。
特定のプログラムを参照している場合、ジョブ所有者はそのプログラムを実行する権限を持っています。
すべてのパラメータ値が設定されている(またはデフォルト値がある)こと。
例
ジョブ MYJOB と SYS.HRJOB を即座に実行します。
BEGIN
DBMS_SCHEDULER.RUN_JOB(
JOB_NAME => 'MYJOB, SYS.HRJOB',
force => TRUE);
END;