三、使用Schedules
3.1 创建和管理Schedules
SQL>desc dbms_scheduler.create_schedule;
Parameter Type Mode Default?
--------------- ------------------------ ---- --------
SCHEDULE_NAME VARCHAR2 IN
START_DATE TIMESTAMP WITH TIME ZONE IN Y
REPEAT_INTERVAL VARCHAR2 IN
END_DATE TIMESTAMP WITH TIME ZONE IN Y
COMMENTS VARCHAR2 IN Y
各参数分别代表含意如下:
(1) SCHEDULE_NAME:指定schedule 名称,注意名称不能重复。
(2) START_DATE:指定该调度的开始时间,可为空,当为空时表示该调度暂不起用。
(3) REPEAT_INTERVAL:指定调度的执行频率或周期。
(4) END_DATE:指定调度的结束时间,可为空,为空时就表示该调度将一直进行。
(5) COMMENTS:注释信息。
(1) FREQ 关键字用来指定间隔的时间周期,可选参数有:YEARLY, MONTHLY, WEEKLY, DAILY,
HOURLY, MINUTELY, and SECONDLY,分别表示年、月、周、日、时、分、秒等单位。
(2) INTERVAL 关键字用来指定间隔的频繁,可指定的值的范围从1-99。
比如说, 当指定REPEAT_INTERVAL=>'FREQ=DAILY;INTERVAL=1';就表示每天执行一次, 如果将INTERVAL 改为7 就表示每7 天执行一次,效果等同于FREQ=WEEKLY;INTERVAL=1。
下面,创建一个schedule,指定调度为每周一次的频率,执行脚本如下:
SQL> BEGIN
DBMS_SCHEDULER.CREATE_SCHEDULE (
schedule_name => 'MySchedule',
start_date => SYSDATE,
repeat_interval => 'FREQ=WEEKLY; INTERVAL=1',
comments => 'Every 1 weeks');
END;
/
SQL> select schedule_name,repeat_interval from user_scheduler_schedules;