oracleデータベースのスケジュールされたジョブの設定方法
Oracleデータベースでは、主に2つの方法でスケジュールジョブを設定できます。
1. OracleのDBMS_SCHEDULERパッケージを使用:DBMS_SCHEDULERは、スケジュールジョブを管理および実行するためのストアドプロシージャとファンクションのセットです。DBMS_SCHEDULERを使用すると、スケジュールジョブの作成、変更、開始、停止、削除を行うことができます。手順は以下のとおりです。
– スケジュールジョブの作成:DBMS_SCHEDULER.CREATE_JOBストアドプロシージャを使用して、スケジュールジョブを作成します。ジョブ名、ジョブタイプ、ジョブ実行ステートメント、繰り返しの回数、実行時間などのパラメータを指定できます。
– スケジュールジョブの開始:DBMS_SCHEDULER.ENABLEストアドプロシージャを使用して、スケジュールジョブを開始します。ジョブ名、開始時間、終了時間などのパラメータを指定できます。
– スケジュールジョブの停止:DBMS_SCHEDULER.DISABLEストアドプロシージャを使用して、スケジュールジョブを停止します。ジョブ名を指定できます。
– スケジュールジョブの変更:DBMS_SCHEDULER.SET_ATTRIBUTEストアドプロシージャを使用して、スケジュールジョブのプロパティを変更します。ジョブの名前、タイプ、実行ステートメントなどのパラメータを変更できます。
– スケジュールジョブの削除:DBMS_SCHEDULER.DROP_JOBストアドプロシージャを使用して、スケジュールジョブを削除します。ジョブ名を指定できます。
2. OracleのDBMS_JOBパッケージを使用:DBMS_JOBは、Oracleのレガシスケジュールジョブパッケージです。DBMS_SCHEDULERよりも単純です。手順は以下のとおりです。
– スケジュールジョブの作成:DBMS_JOB.SUBMITストアドプロシージャを使用して、スケジュールジョブを作成します。ジョブ番号、ジョブ実行ステートメント、繰り返し間隔などのパラメータを指定できます。
– スケジュールジョブの変更:DBMS_JOB.CHANGEストアドプロシージャを使用して、スケジュールジョブのプロパティを変更します。実行ステートメント、繰り返し間隔などのパラメータを変更できます。
– スケジュールジョブの削除:DBMS_JOB.REMOVEストアドプロシージャを使用して、スケジュールジョブを削除します。ジョブ番号を指定できます。どちらの方法を使用する場合でも、スケジュールジョブは、Oracleデータベースで定期的に指定されたSQLステートメントまたはストアドプロシージャを実行できます。