david database lab

 
 

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿(3)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • 书画 (rss)
  • 围棋 (rss)
  • 地理 (rss)
  • 天文 (rss)
  • 摄影 (rss)
  • 文学 (rss)
  • 旅游 (rss)
  • 电影 (rss)
  • 诗集(3) (rss)
  • 象棋 (rss)
  • 运动 (rss)
  • 音乐 (rss)

随笔档案

  • 2008年9月 (1)
  • 2008年7月 (3)

文章分类

  • AJAX (rss)
  • ARITHEMETIC (rss)
  • C++ (rss)
  • CONFIGURATION (rss)
  • CSS(2) (rss)
  • DB2 (rss)
  • EJB (rss)
  • HQL (rss)
  • HTML(4) (rss)
  • JAVA(9) (rss)
  • JAVASCRIPT(27) (rss)
  • JSP(2) (rss)
  • LINUX(7) (rss)
  • MANUAL (rss)
  • MYSQL (rss)
  • ORACLE(88) (rss)
  • PL/SQL(3) (rss)
  • PL/SQL DEVELOPER (rss)
  • REGEX(1) (rss)
  • RSS(2) (rss)
  • SQL (rss)
  • SQL PLUS (rss)
  • SQL SERVER (rss)
  • SSH (rss)
  • STRUTS(6) (rss)
  • TOAD (rss)
  • XML(1) (rss)
  • 单元测试 (rss)
  • 数据库基础(7) (rss)
  • 数据建模 (rss)
  • 环境部署(5) (rss)
  • 项目设计(1) (rss)

文章档案

  • 2009年11月 (47)
  • 2009年8月 (2)
  • 2009年7月 (2)
  • 2009年6月 (11)
  • 2009年5月 (14)
  • 2009年4月 (2)
  • 2009年2月 (4)
  • 2009年1月 (2)
  • 2008年12月 (5)
  • 2008年11月 (6)
  • 2008年10月 (13)
  • 2008年9月 (3)
  • 2008年8月 (6)
  • 2008年7月 (16)
  • 2008年6月 (31)
  • 2008年5月 (4)

相册

  • goole相册
  • RELAX

收藏夹

  • oracle-DataGuard (rss)
  • oracle-RMAN (rss)
  • oracle体系 (rss)
  • oracle备份恢复 (rss)
  • oracle闪回 (rss)

JavaScript Web

  • gegereka-linux
  • linux 资源文件
  • java2s (rss)
  • java2s
  • onlyaa
  • ORACLE官方论坛
  • rpm.pbone.net
  • rpm资源
  • struts-guide
  • w3school
  • 鸟哥

搜索

  •  

最新评论

  • 1. re: hand in hand
  • I cannot thank you enough for the blog . Really thank you! Really Cool.
  • --zakbut
  • 2. re: oracle之isqlplus登录问题
  • 启动isqlplus
    isqlplus star
  • --广州大道
  • 3. re: 日期日间控件4
  • 显示时间,用户原来选择的时间
  • --LVWallet
  • 4. re: linux -- cpio命令
  • gunzip 10201_database_linux_x86_64.cpio.gz
  • --Goyard
  • 5. re: js 组合框
  • <option value="csdn">csdn</option>
  • --saletopbags

阅读排行榜

  • 1. hand in hand(380)
  • 2. 桃花记(255)
  • 3. 月夜随想(236)
  • 4. 冬至随想(228)

评论排行榜

  • 1. hand in hand(2)
  • 2. 桃花记(0)
  • 3. 月夜随想(0)
  • 4. 冬至随想(0)

Powered by: 博客园
模板提供:沪江博客
BlogJava | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理

全面学习ORACLE Scheduler特性 (6)设置Repeat Interval参数 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-repeat_interval.shtml

(6)设置Repeat Interval参数
[君三思] 2009-8-18

3.3 设置Repeat Interval

  Job 和Schedule中REPEAT_INTERVAL参数都是用来控制执行的频率或周期,虽然说周期是一个时间性概念,不过REPEAT_INTERVAL指定的时候并不是一个时间值,而是由一组关键字描述的时间。

  除了前面介绍Job和Schedule的REPEAT_INTERVAL参数时,提到该参数拥有FREQ以及INTERVAL两个关键字,其实除此之外,还有如BYMONTH、BYWEEKNO、BYYEARDAY、BYDATE等等参数,可以用来进行更精确的定义,比如通过BYMONTH关键字指定调度运行的月份,BYDAY指定调度在哪天运行等等。

  REPEAT_INTERVAL 参数的详细语法如下:

    repeat_interval = regular_schedule | combined_schedule

    ==============================

    regular_schedule = frequency_clause

    [";" interval_clause] [";" bymonth_clause] [";" byweekno_clause]

    [";" byyearday_clause] [";" bydate_clause] [";" bymonthday_clause]

    [";" byday_clause] [";" byhour_clause] [";" byminute_clause]

    [";" bysecond_clause] [";" bysetpos_clause] [";" include_clause]

    [";" exclude_clause] [";" intersect_clause][";" periods_clause]

    [";" byperiod_clause]

    ==============================  

    combined_schedule = schedule_list [";" include_clause]

    [";" exclude_clause] [";" intersect_clause]

    frequency_clause = "FREQ" "=" ( predefined_frequency | user_defined_frequency )

    predefined_frequency = "YEARLY" | "MONTHLY" | "WEEKLY" | "DAILY" | 

       "HOURLY" | "MINUTELY" | "SECONDLY"

    user_defined_frequency = named_schedule

    ==============================

    interval_clause = "INTERVAL" "=" intervalnum

       intervalnum = 1 through 99

    bymonth_clause = "BYMONTH" "=" monthlist

       monthlist = monthday ( "," monthday)*

       month = numeric_month | char_month

       numeric_month = 1 | 2 | 3 ...  12

       char_month = "JAN" | "FEB" | "MAR" | "APR" | "MAY" | "JUN" |

       "JUL" | "AUG" | "SEP" | "OCT" | "NOV" | "DEC"

    byweekno_clause = "BYWEEKNO" "=" weeknumber_list

       weeknumber_list = weeknumber ( "," weeknumber)*

       weeknumber = [minus] weekno

       weekno = 1 through 53

    byyearday_clause = "BYYEARDAY" "=" yearday_list

       yearday_list = yearday ( "," yearday)*

       yearday = [minus] yeardaynum

       yeardaynum = 1 through 366

    bydate_clause = "BYDATE" "=" date_list

       date_list = date ( "," date)*

       date = [YYYY]MMDD [ offset | span ]

    bymonthday_clause = "BYMONTHDAY" "=" monthday_list

       monthday_list = monthday ( "," monthday)*

       monthday = [minus] monthdaynum

       monthdaynum = 1 through 31

    byday_clause = "BYDAY" "=" byday_list

       byday_list = byday ( "," byday)*

       byday = [weekdaynum] day

       weekdaynum = [minus] daynum

       daynum = 1 through 53 /* if frequency is yearly */

       daynum = 1 through 5  /* if frequency is monthly */

       day = "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "SUN"

    byhour_clause = "BYHOUR" "=" hour_list

       hour_list = hour ( "," hour)*

       hour = 0 through 23

    byminute_clause = "BYMINUTE" "=" minute_list

       minute_list = minute ( "," minute)*

       minute = 0 through 59

    bysecond_clause = "BYSECOND" "=" second_list

       second_list = second ( "," second)*

       second = 0 through 59

    bysetpos_clause = "BYSETPOS" "=" setpos_list

       setpos_list = setpos ("," setpos)*

       setpos = [minus] setpos_num

       setpos_num = 1 through 9999

    ==============================

    include_clause = "INCLUDE" "=" schedule_list

    exclude_clause = "EXCLUDE" "=" schedule_list

    intersect_clause = "INTERSECT" "=" schedule_list

    schedule_list = schedule_clause ("," schedule_clause)*

    schedule_clause = named_schedule [ offset ]

    named_schedule = [schema "."] schedule

    periods_clause = "PERIODS" "=" periodnum

    byperiod_clause = "BYPERIOD" "=" period_list

    period_list = periodnum ("," periodnum)*

    periodnum = 1 through 100

    ==============================

    offset = ("+" | "-") ["OFFSET:"] duration_val

    span = ("+" | "-" | "^") "SPAN:" duration_val

    duration_val = dur-weeks | dur_days

    dur_weeks = numofweeks "W"

    dur_days = numofdays "D"

    numofweeks = 1 through 53

    numofdays = 1 through 376

    minus = "-"

  这个语法形式看起来复杂无比,其实实用起来很简单,之所以看起来复杂,是因为其功能太过灵活(之前的三思系列笔记中,已经阐述过灵活与复杂的关系),这里不准备逐条解释每一个语法细节,下面将着重通过一些常用设置,希望能够更有助于广大同仁的理解。

  例如:设置任务仅在周5的时候运行:

    REPEAT_INTERVAL => ¨FREQ=DAILY; BYDAY=FRI¨;

    REPEAT_INTERVAL => ¨FREQ=WEEKLY; BYDAY=FRI¨;

    REPEAT_INTERVAL => ¨FREQ=YEARLY; BYDAY=FRI¨;

  上述三条语句虽然指定的关键字小有差异,不过功能相同。

  设置任务隔一周运行一次,并且仅在周5运行:

    REPEAT_INTERVAL => ¨FREQ=WEEKLY; INTERVAL=2; BYDAY=FRI¨;

  设置任务在当月最后一天运行:

    REPEAT_INTERVAL => ¨FREQ=MONTHLY; BYMONTHDAY=-1¨;

  设置任务在3月10日运行:

    REPEAT_INTERVAL => ¨FREQ=YEARLY; BYMONTH=MAR; BYMONTHDAY=10¨;

     

    REPEAT_INTERVAL => ¨FREQ=YEARLY; BYDATE=0310¨;

  上述两条语句功能相同。

  设置任务每10隔天运行:

    REPEAT_INTERVAL => ¨FREQ=DAILY; INTERVAL=10¨;

  设置任务在每天的下午4、5、6点时运行:

    REPEAT_INTERVAL => ¨FREQ=DAILY; BYHOUR=16,17,18¨;

  设置任务在每月29日运行:

    REPEAT_INTERVAL => ¨FREQ=MONTHLY; BYMONTHDAY=29¨;

  设置任务在每年的最后一个周5运行:

    REPEAT_INTERVAL => ¨FREQ=YEARLY; BYDAY=-1FRI¨;

  设置任务每隔50个小时运行:

    REPEAT_INTERVAL => ¨FREQ=HOURLY; INTERVAL=50¨;

  另外,你是否在怀念常规job中设置interval的简便,虽然功能较弱,但是设置操作非常简单,无须懊恼,其实SCHEDULER中的REPEAT_INTERVAL也完全可以按照那种方式设置,前面都说了,REPEAT_INTERVAL实际上是指定周期,直接指定一个时间值,当然也是周期喽。

  比如说,设置任务每天执行一次,也可以设置REPEAT_INTERVAL参数值如下:

    REPEAT_INTERVAL => ¨trunc(sysdate)+1¨

  又比如设置任务每周执行一次:

    REPEAT_INTERVAL => ¨trunc(sysdate)+7¨

  不过需要注意,这种方式仅用于创建SCHEDULER中jobs时使用,不能用于schedule。

发表于 2009-11-25 15:12 javaex 阅读(452) 评论(0)  编辑  收藏 所属分类: ORACLE
 
新用户注册  刷新评论列表  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问   管理
相关文章:
  • Oracle 10g Scheduler 特性 转自 http://blog.csdn.net/tianlesoftware/archive/2009/10/22/4715218.aspx
  • 全面学习ORACLE Scheduler特性 (12)使用Window和Window Group 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-using-window.shtml
  • 全面学习ORACLE Scheduler特性 (11)使用Job Classes 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-using-job-classes.shtml
  • 全面学习ORACLE Scheduler特性 (10)使用Chains之管理CHAIN 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-alter-chains.shtml
  • 全面学习ORACLE Scheduler特性 (9)使用Chains之创建CHAIN 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-create-chains.shtml
  • 全面学习ORACLE Scheduler特性 (8)使用Events之Aapplication抛出的Events 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-using-application-events.shtml
  • 全面学习ORACLE Scheduler特性 (7)使用Events之Scheduler抛出的Events 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-using-scheduler-events.shtml
  • 全面学习ORACLE Scheduler特性 (6)设置Repeat Interval参数 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-repeat_interval.shtml
  • 全面学习ORACLE Scheduler特性 (5)Schedules调度Programs执行的Jobs 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-schedule-job-execute.shtml
  • 全面学习ORACLE Scheduler特性 (4)使用和管理Schedules 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-create-schedule.shtml