job的下一次运行时间是会受上一次影响的,如果我们的interval仅仅是sysdate+1/24这样的形式的话,无疑,上次执行的时间再加上1小时就是下次执行的时间。那么如果job因为某些原因延迟执行了一次,这样就会导致下一次的执行时间也同样顺延了,这通常不是我们希望出现的现象。
解决方法很简单,只需要设定正确的interval就可以了。
比如,我们要job在每天的凌晨3:30执行而不管上次执行到底是几点,只需要设置interval为trunc(sysdate)+3.5/24+1即可。完整的sql如下: