关于oracle 不常用的job 运行时间设置

这段时间我一直在根据实际情况对job 进行设置,不过根据文献废了很大劲猜的到想要的效果 其中有两个是特别需要注意的我分享给到家 希望对大家有用

 1:每天凌晨零点积分执行

TRUNC(SYSDATE+1)+(0*60+10)/(24*60)--每天凌晨过10分执行job

2.每小时过几分执行job

trunc(sysdate,''hh'')+(60+5)/(24*60)--特别注意这hh 这需要家四个单引号 每小时过5分执行job 

除了上面两个我个人认为文献很少提及的外下面我把常规的也贴出来:

关于job运行时间

1:每分钟执行
Interval => TRUNC(sysdate,'mi') + 1/(24*60)


2:每天定时执行
例如:每天的凌晨1点执行
Interval => TRUNC(sysdate) + 1 +1/(24)


3:每周定时执行
例如:每周一凌晨1点执行
Interval => TRUNC(next_day(sysdate,'星期一'))+1/24


4:每月定时执行
例如:每月1日凌晨1点执行
Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24


5:每季度定时执行
例如每季度的第一天凌晨1点执行
Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24


6:每半年定时执行
例如:每年7月1日和1月1日凌晨1点
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24


7:每年定时执行
例如:每年1月1日凌晨1点执行
Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'), 12)+1/24

job的运行频率设置

1.每天固定时间运行,比如早上8:10分钟:Trunc(Sysdate+1) + (8*60+10)/24*60

2.Toad中提供的:
每天:trunc(sysdate+1)
每周:trunc(sysdate+7)
每月:trunc(sysdate+30)
每个星期日:next_day(trunc(sysdate),'星期日')
每天6点:trunc(sysdate+1)+6/24
半个小时:sysdate+30/(24*60)

posted @ 2020-01-02 17:02  筷子走天下  阅读(651)  评论(0编辑  收藏  举报