急!JOB定时的问题(请高手指点) 我们的一个系统中写了很多存储过程,这些存储过程都是通过JOB定时执行的,可是运行一段时间后,发现有时候 JOB的定时时间会随机改变,请问高手这是什么原因呢?(小弟在线等待) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果制定的interval是sysdate + var的话, 时间是会慢慢的向后推迟的..将sysdate + var 改成 trunc(sysdate) + var的形式.. 我也遇到同样的问题过,后来解决的方法是设置时间的上下限,如myDate>to_date(myDate,'yyyy-mm-dd hh24:mi:ss')-2 and myDate<=to_date(myDate,'yyyy-mm-dd hh24:mi:ss')而不是光用myDate>to_date(myDate,'yyyy-mm-dd hh24:mi:ss'),这样的话,记录的准确性也就有保证了,但是怎样解决JOB的执行时间往后推移,也没有什么办法。 执行时间往后推,是因为他的下次执行时间是从本次执行完以后开始计算的,如果你的任务每次需要执行5分钟,那么,你的Job就会每天往后推五分钟。你可以把下次执行时间改为 trunc(sysdate)+ 1 / 24 /3600 * 5 天 小时 秒 这个是oracle job时间间隔机制的问题,oracle的时间间隔开始计算时间,是上一次job结束的时间,也就是第一次10:00执行,10:01结束完毕,时间间隔你设置为5分钟,那么第二次的job执行时间是10:06,并不是10:05,最好是加上trunc()之类的,比如每天上午10点一次,那么时间间隔:trunc(sysdate,'yyyymmdd')+ 10/24,但是一天多次的比较麻烦,没办法避免. 【求助】关于Oracle的sql语句执行记录 ||这个符号在SQL语句 请教下sql语句应该怎么写 oracle查询如何返回部分结果 触发器编译出问题~来看看~~ oracle9i几个用户的相关问题 关于最基础的问题 请问哪里可以找到有关排课的算法?? 关于lock的问题,请进,谢谢! 数据库启动不了,报错ORA 48108 ORA48140 ORA48187 调用存储过程时出错: 必须说明标识符 新建Job的时候出现的错误,帮忙看下怎么回事?
你可以把下次执行时间改为 trunc(sysdate)+ 1 / 24 /3600 * 5
天 小时 秒
最好是加上trunc()之类的,比如每天上午10点一次,那么时间间隔:trunc(sysdate,'yyyymmdd')+ 10/24,但是一天多次的比较麻烦,没办法避免.