ENABLE プロシージャは、プログラムとジョブを有効にするために使用されます。
オブジェクトを有効にすると、その enabled プロパティが TRUE に設定されます。デフォルトでは、新しく作成されたジョブとプログラムは無効な状態です。
ジョブが無効にされた後、再度有効にされると、Schedulerはそのスケジュールに従って自動的にそのジョブを実行し始めます。
有効性チェックはオブジェクトを有効にする前に実行されます。チェックに失敗した場合、そのオブジェクトを有効にすることはできず、対応するエラーメッセージが返されます。オブジェクトが正常に有効になった場合、このプロシージャはエラーメッセージを返しません。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみ提供します。
構文
DBMS_SCHEDULER.ENABLE (
job_name IN VARCHAR2);
パラメータ説明
パラメータ |
説明 |
|---|---|
| job_name | 有効にするSchedulerオブジェクトの名前。名前はカンマ区切りのリストであることができます。ジョブクラス名を指定した場合、そのジョブクラス内のすべてのジョブが有効になります。 システム内部で定義されている定期タスクは以下のとおりです:
|
使用方法
SYSスキーマ以外の任意のスキーマに対してENABLEを使用できます。定期パーティション均衡タスク
SCHEDULED_TRIGGER_PARTITION_BALANCEを有効にする場合、テナントレベルの構成パラメータpartition_balance_schedule_interval = 0が必要です。そうでない場合、OB_OP_NOT_ALLOWエラーが発生します。構成パラメータによるトリガーと定期タスクによるトリガーは同時に有効にできません。
例
名前が
job_testのプログラムを有効にします。obclient(SYS@oracle001)[SYS]> delimiter //obclient(SYS@oracle001)[SYS]> BEGIN DBMS_SCHEDULER.ENABLE(job_name => 'job_test'); END;//obclient(SYS@oracle001)[SYS]> delimiter ;定時パーティションの均衡タスクを有効にします。
obclient(SYS@oracle001)[SYS]> CALL DBMS_SCHEDULER.ENABLE(job_name => 'SCHEDULED_TRIGGER_PARTITION_BALANCE');または
obclient(SYS@oracle001)[SYS]> CALL DBMS_SCHEDULER.ENABLE('SCHEDULED_TRIGGER_PARTITION_BALANCE');