ORACLE機能 標準パッケージ

[DBMSパッケージ] スケジューラジョブを作成する(DBMS_SCHEDULER.CREATE_JOB)

投稿日:2018年1月13日 更新日:

オラクルでは、スケジューラーを作成してプロシージャやexeなどのプログラムを自動実行することができます。

スケジューラーの作成には、DBMS_SCHEDULER.CREATE_JOBパッケージを使用します。

サンプル

例)'TEST_JOB'というスケジューラーを作成する

【CREATE_JOBパラメータ】
パラメータ意味
job_nameジョブ名
job_type実行するジョブの種類を指定する。
 STORED_PROCEDURE:プロシージャ
 EXECUTABLE:外部プログラム(exeなど)
 PLSQL_BLOCK:PL/SQLブロック
job_actionジョブの実行対象(job_typeによって変わる)
 STORED_PROCEDURE:プロシージャ名(例)TEST_PRC
 EXECUTABLE:プログラム名(例)c:\hoge.exe
 PLSQL_BLOCK:PL/SQLブロック(例)BEGIN ~ END;
start_dateジョブの開始日時(日付型で指定する)
repeat_intervalジョブの実行間隔
FREQ=
 年:YEARLY
 月:MONTHLY
 週:WEEKLY
 日:DAILY
 時:HOURLY
 分:MINUTELY
 秒:SECONDLY

INTERVAL=
 数値:指定した回数毎に実行
(例)'FREQ=HOURLY;INTERVAL=5 :5時間毎に実行する

BYMONTH:実行月を指定する(1~12)
 (例)'FREQ=DAILY;BYMONTH=8' 8月に毎日実行する
BYWEEKNO:実行週を指定する(1~53)
 (例)'BYWEEKNO=30' 年の30週目に実行する
BYYEARDAY:実行日を指定する(1~366)
 (例)'BYYEARDAY=100' 年の100日目に実行する
BYDATE:実行日を指定する(MMDD形式)
 (例)'BYDATE=100' 年の100日目に実行する
BYMONTHDAY:実行日を指定する(1~31)
 (例)'FREQ=MONTHLY;BYMONTHDAY=25' 毎月25日に実行する
BYHOUR:実行時間を指定する(0~23)
 (例)'FREQ=DAILY;BYHOUR=3' 毎日3時に実行する
BYMINUTE:実行分を指定する(0~59)
 (例)'FREQ=HOURLY;BYMINUTE=30' 毎時30分に実行する
BYSECOND:実行秒を指定する(0~59)
 (例)'FREQ=SECONDLY;BYSECOND=15' 毎分15秒に実行する
end_dateジョブの終了日時(日付型で指定する)
job_classジョブに関連付けるクラスを指定する
 (例)'DEFAULT_JOB_CLASS'
auto_dropジョブ完了時に削除する/しないの設定
 true:削除する(デフォルト)
 false:削除しない
enabledジョブが有効/無効の設定
 true:有効
 false:無効(デフォルト)
commentsジョブに対するコメント

解説


スポンサーリンク

スポンサーリンク

-ORACLE機能, 標準パッケージ
-

執筆者:



comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク