网站建设资讯

NEWS

网站建设资讯

Oracle调度Schedule特性分析

这篇文章主要介绍“Oracle调度Schedule特性分析”,在日常操作中,相信很多人在Oracle调度Schedule特性分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle调度Schedule特性分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

十余年的广水网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整广水建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“广水网站设计”,“广水网站推广”以来,每个客户项目都认真落实执行。



1、创建Schedule
从名字来看,它是一个逻辑实体,就是说当创建了schedule之后,数据库中就肯定存在这一对象,只不过这一对象是用来描述job的执行周期。
创建schedule可以通过DBMS_SCHEDULER.CREATE_SCHEDULE过程

举个例子:
begin
  dbms_scheduler.create_schedule(schedule_name   => 'myschedule',
                                 start_date      => sysdate,
                                 repeat_interval => 'FREQ=DAILY; INTERVAL=1',
                                 comments        => 'Every 1 weeks');
end;
/

下面对各参数分别代表含意解释一下
SCHEDULE_NAME     指定schedule名称,注意名称要求唯一性。
START_DATE        指定该调度的开始时间,可为空,当为空时表示该调度暂不起用。
REPEAT_INTERVAL   指定调度的执行频率或周期。
END_DATE          指定调度的结束时间,可为空,为空时就表示该调度将一直进行。
COMMENTS          注释信息。

这其中,比较复杂的是REPEAT_INTERVAL参数,对于这个参数大家应该不会太陌生,因为前面介绍Jobs,也曾经提到过同名的参数,
Schedules中的REPEAT_INTERVAL参数和Jobs中的REPEAT_INTERVAL参数功能完全相同,甚至参数格式也一模一样。
REPEAT_INTERVAL 参数的语法结构比较复杂。其中最重要的是FREQ和INTERVAL两个关键字。
FREQ     关键字用来指定间隔的时间周期,可选参数有:YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, and SECONDLY,分别表示年、月、周、日、时、分、秒等单位。
INTERVAL 关键字用来指定间隔的频繁,可指定的值的范围从1-99。
比如说,当指定REPEAT_INTERVAL=>'FREQ=DAILY;INTERVAL=1';就表示每天执行一次,如果将INTERVAL改为7就表示每7天执行一次,效果等同于FREQ=WEEKLY;INTERVAL=1。
2、管理Schedule
查询当前已经创建的schedules,可以通过*_SCHEDULER_SCHEDULES视图(含DBA_,ALL_,USER_),例如,查看当前用户拥有的schedules,执行语句如下:
select schedule_name,repeat_interval from user_scheduler_schedules;
SCHEDULE_NAME                  REPEAT_INTERVAL
------------------------------ ------------------------------
MYSCHEDULE                     FREQ=DAILY; INTERVAL=1

如果要修改schedule属性的话,也是使用DBMS_SCHEDULER.SET_ATTRIBUTE过程,该过程的调用方式跟之前的一样,这里就不再重复举例了,仅说明一点,
对于schedule来说,能够修改的属性包括:REPEAT_INTERVAL、COMMENTS、END_DATE、START_DATE以及EVENT_SPEC。

如果要删除schedule,再简单不过,执行DBMS_SCHEDULER.DROP_SCHEDULE过程即可
begin
 DBMS_SCHEDULER.DROP_SCHEDULE('myschedule');
end;

到此,关于“Oracle调度Schedule特性分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


文章标题:Oracle调度Schedule特性分析
文章网址:http://cdweb.net/article/pgcidg.html