Този пример ви показва как да създадете задание в Oracle, което да се изпълнява на всеки час с помощта на DBMS_SCHEDULER
пакет.
1. Създайте работа с помощта на DBMS_SCHEDULER.CREATE_JOB
Следният PL/SQL код ще насрочи задание, което ще започне на 20 октомври 2019 г. в 1:00 ч. индийско време, за да се изпълнява всеки час всеки ден. Можете да премахнете името на деня от параметъра за интервал на повторение, за да изключите конкретен ден . Типът на заданието е съхранена процедура и ще изпълни процедурата, посочена в параметъра за действие на заданието.
BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'HOURLY_JOB', job_type => 'STORED_PROCEDURE', job_action => 'YOUR_SCHEMA.YOUR_PROCEDURE', start_date => '20-OCT-19 01.00.00 AM Asia/Kolkata', repeat_interval => 'FREQ=HOURLY;BYDAY=MON,TUE,WED,THU,FRI,SAT,SUN', end_date => NULL, auto_drop => FALSE, job_class => 'SYS.DEFAULT_JOB_CLASS', comments => 'run job every hour'); END; /
2. Активирайте заданието
BEGIN DBMS_SCHEDULER.enable('HOURLY_JOB'); END; /
Вашият почасов DBMS_SCHEDULER
заданието е създадено и активирано сега. Можете да промените часовата зона от „Азия/Колката " към часова зона на всяка държава, като получите стойността от следната заявка:
SELECT DISTINCT tzname, TZ_OFFSET (tzname) FROM V$TIMEZONE_NAMES ORDER BY tzname;
Свързани уроци:
- Oracle PL/SQL:DBMS_SCHEDULER.CREATE_JOB Изпълнявайте всеки ден веднъж