DISABLE プロシージャは、プログラムとジョブを無効にするために使用されます。
Schedulerオブジェクトが無効になると、その enabled プロパティは FALSE に設定されます。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_SCHEDULER.DISABLE (
job_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE,
commit_semantics IN VARCHAR2 DEFAULT 'STOP_ON_FIRST_ERROR');
パラメータの説明
| パラメータ | 説明 |
|---|---|
| job_name | 無効にするジョブの名前。複数のジョブ名はカンマで区切ったリストとして指定できます。ジョブクラス名を指定した場合、そのジョブクラス内のすべてのジョブが無効化されますが、ジョブクラス自体は無効化されません。グループ名を指定した場合、そのグループが無効化されますが、グループメンバーの有効/無効状態には影響しません。 |
| force | TRUE の場合、他のオブジェクトがそのオブジェクトに依存している場合でも、そのオブジェクトを無効化します。 |
| commit_semantics | コミットセマンティクス。サポートされるタイプは次のとおりです:
|
使用方法
既に無効になっているオブジェクトを再度無効にしても、エラーは発生しません。
force オプションは依存関係を識別するためのものであり、依存するオブジェクトを変更するものではありません。
ジョブを無効にするということは、ジョブのメタデータは存在するものの、処理や実行されるべきではないことを意味します。ジョブが無効になると、ジョブキュー内の state は disabled に変更されます。force が FALSE に設定されており、かつジョブが現在実行中の場合、エラーが返されます。force が TRUE に設定されている場合、ジョブは無効になりますが、現在実行中のインスタンスが完了するまで許可されます。
プログラムが無効になると、その状態は無効に変わります。無効になったプログラムとは、メタデータは依然として存在するものの、そのプログラムを指すジョブは実行できないことを意味します。force が FALSE に設定されている場合、どのジョブもそのプログラムを参照してはならず、そうでない場合はエラーが発生します。force が TRUE に設定されている場合、そのプログラムを指すジョブは無効にならず、それらのプログラムが無効になるため、実行に失敗します。そのプログラムを指す実行中のジョブは DISABLE 呼び出しの影響を受けず、引き続き実行できます。プログラムが無効になると、そのプログラムに関連するパラメータは影響を受けません。
例
BEGIN
SYS.DBMS_SCHEDULER.DISABLE(
job_name => 'empprogram',
force => TRUE,
COMMIT_SEMANTICS => 'STOP_ON_FIRST_ERROR');
END;