分享更有价值
被信任是一种快乐

ORACLE Scheduler中如何创建和管理Schedule

文章页正文上

小编给大家分享一下ORACLE Scheduler中如何创建和管理Schedule,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 10g
中新推出的SCHEDULER可能确实会让很多初接触的朋友感觉晕头晕脑,相比之前的jobs,SCHEDULER中新增的概念太多。比如说jobs,仍然可以理解成之前版本中的jobs,不过功能更加强大(注意10g中也仍然可以使用普通jobs,这是废话,相信看本篇文章的朋友目前应该还是这样在用),比如说program,指的是运行的程序(把要做什么单提出来了),比如说schedule,我将其翻译为调度(job我翻译为任务),定义执行的频率或者说周期。
  Schedule ,中文直译的话应该理解成调度,从名字来看,它是一个逻辑实体(逻辑,还实体,好矛盾),就是说当创建了schedule之后,数据库中就肯定存在这一对象,只不过这一对象是用来描述job的执行周期。
  创建schedule可以通过DBMS_SCHEDULER.CREATE_SCHEDULE过程,免费主机域名该过程支持的参数如下:
SQL>descdbms_scheduler.create_schedule;ParameterTypeModeDefault?—————————————————SCHEDULE_NAMEVARCHAR2INSTART_DATETIMESTAMPWITHTIMEZONEINYREPEAT_INTERVALVARCHAR2INEND_DATETIMESTAMPWITHTIMEZONEINYCOMMENTSVARCHAR2INY
  各参数分别代表含意如下:
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,andSECONDLY,分别表示年、月、周、日、时、分、秒等单位。
INTERVAL 关键字用来指定间隔的频繁,可指定的值的范围从1-99。
  比如说,当指定REPEAT_INTERVAL=>’FREQ=DAILY;INTERVAL=1′;就表示每天执行一次,如果将INTERVAL改为7就表示每7天执行一次,效果等同于FREQ=WEEKLY;INTERVAL=1。
  下面,创建一个schedule,指定调度为每周一次的频率,执行脚本如下:
SQL>begin
2DBMS_SCHEDULER.CREATE_SCHEDULE(
3schedule_name=>’my_first_schedule’,
4start_date=>SYSDATE,
5repeat_interval=>’FREQ=WEEKLY;INTERVAL=1′,
6comments=>’Every1weeks’);
7END;
8/ PL/SQLproceduresuccessfullycompleted.
  查询当前已经创建的schedules,可以通过*_SCHEDULER_SCHEDULES视图(含D免费主机域名BA_,ALL_,USER_),例如,查看当前用户拥有的schedules,执行语句如下:
SQL>selectschedule_name,repeat_intervalfromuser_scheduler_schedules;
SCHEDULE_NAMEREPEAT_INTERVAL
———————————————————— MY_FIRST_SCHEDULEFREQ=WEEKLY;INTERVAL=1
  如果要修改schedule属性的话,也是使用DBMS_SCHEDULER.SET_ATTRIBUTE过程,该过程的调用方式前面已经多次演示过,这里就不再重复举例了,仅说明一点,对于schedule来说,能够修改的属性包括:REPEAT_INTERVAL、COMMENTS、END_DATE、START_DATE以及EVENT_SPEC。
  至于删除schedule,再简单不过,执行DBMS_SCHEDULER.DROP_SCHEDULE过程即可,例如:
SQL>EXECDBMS_SCHEDULER.DROP_SCHEDULE(‘MY_FIRST_SCHEDULE’); PL/SQLproceduresuccessfullycompleted. 以上是“ORACLE Scheduler中如何创建和管理Schedule”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!

相关推荐: 怎么使用MySQL bingol

这篇文章主要讲解了“怎么使用MySQL bingol”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用MySQL bingol”吧!1、binlog备份[mysql@mysql5 binlog]$mysql…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册