感觉oracle job不是很精确,有一次每天定时在04:00执行的job,第二天就会发现实际执行时间是06:50左右,差的也太多了, 改成02:00执行后才准一点
这次想请教的一个问题是:
>> job 调用 proc_xxx 每小时执行一次,
>> 在proc_xxx的最后写上,如果sysdate >18:00,执行 dbms_job.next_date(v_jobno, trunc(sysdate+1) + 9/24);
直接把job的下一次执行时间改为第二天早上09:00,
这种更改完全不起作用,19:00会继续执行,20:00,21:00,......
是不是因为 job 在执行期间,更改自身的 next_date 是行不通的???
后来没办法只好在proc_xxx里面加上退出判断,job仍然每小时执行一次。
这次想请教的一个问题是:
>> job 调用 proc_xxx 每小时执行一次,
>> 在proc_xxx的最后写上,如果sysdate >18:00,执行 dbms_job.next_date(v_jobno, trunc(sysdate+1) + 9/24);
直接把job的下一次执行时间改为第二天早上09:00,
这种更改完全不起作用,19:00会继续执行,20:00,21:00,......
是不是因为 job 在执行期间,更改自身的 next_date 是行不通的???
后来没办法只好在proc_xxx里面加上退出判断,job仍然每小时执行一次。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22458783/viewspace-615491/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22458783/viewspace-615491/