Oracle数据库Job的下次执行时间老是变动问题

job的 interval设置为 sysdate+1 结果好多客户的这个时间最后会变的乱起八糟, 

或是 导入 , 或是手动执行了等等, 还有自动会变的, 而且不少,  

觉得莫名其妙, ,

今天网上搜了下 , 终于明白了其中的原因

由于oracle的job的时间检查周期的差异性  和 job进程数量及job并发量的问题
以及 job失败等原因导致job延后执行成功  都会导致  下次job的起点时间的变化(sysdate发生了变化)

 

 

并且也找到了解决办法, 

比如,我要每天凌晨1点执行, interval就应该是:

trunc(SYSDATE)+1+1/24

表示 今天的凌晨一天一小时 ==>明天凌晨1点

原因:

SYSDATE会不稳定,但是不管是今天什么时候,trunc(sysdate) 返回的都是今天的 0点!!!!

so.... 只要job在当天完成都可以保证每天时间点基本一致!

 

如果要间隔半小时执行, interval就应该是:

TRUNC(sysdate,'HH24') + (trunc(to_char(sysdate,'mi')/30)+1)/(24*2)

 

[引用参考:http://www.itpub.net/thread-264556-1-1.html]

 



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。 原文链接:https://www.cnblogs.com/lzpong/p/5832636.html
posted @   _Ong  阅读(6077)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2015-09-02 Oracle 多行转多列,列值转为列名
点击右上角即可分享
微信分享提示