RUN_JOB プロシージャは、ジョブを即時に実行するために使用されます。
ジョブが有効になっている場合、スケジューラーはジョブのスケジュールに従って 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;