我在SQLPlus Worksheet里这样创建JOB:
VARIABLE JOBNO NUMBER;
BEGIN
DBMS_JOB.SUBMIT(
job => :JOBNO,
what => 'MBOX.CALCULATECB_BILL;',
next_date => trunc(sysdate+1),
interval => 'trunc(sysdate+1)+1/24',
no_parse => FALSE
);
COMMIT;
END;就是从明天凌晨开始做这个任务,每小时做一次,从user_jobs里查看信息,第一次时间也是对的,上次运行时间是21-4月 -06 00:00:00,下次是21-4月 -06 01:00:00,但运行一次以后下次运行时间就变成了21-4月 -06 02:00:04,就是往后延长了几秒,时间长了就延长好多了,这个过程执行的时间开销是6分钟左右,延长的时候和过程的开销有关系吗?虽然我定时可以用Next_Date()来重新设置执行时间,但总是不很方便,想请教下,有没什么方法可以使我的任务执行时间每次都是准点执行,还是我的写法有问题?
VARIABLE JOBNO NUMBER;
BEGIN
DBMS_JOB.SUBMIT(
job => :JOBNO,
what => 'MBOX.CALCULATECB_BILL;',
next_date => trunc(sysdate+1),
interval => 'trunc(sysdate+1)+1/24',
no_parse => FALSE
);
COMMIT;
END;就是从明天凌晨开始做这个任务,每小时做一次,从user_jobs里查看信息,第一次时间也是对的,上次运行时间是21-4月 -06 00:00:00,下次是21-4月 -06 01:00:00,但运行一次以后下次运行时间就变成了21-4月 -06 02:00:04,就是往后延长了几秒,时间长了就延长好多了,这个过程执行的时间开销是6分钟左右,延长的时候和过程的开销有关系吗?虽然我定时可以用Next_Date()来重新设置执行时间,但总是不很方便,想请教下,有没什么方法可以使我的任务执行时间每次都是准点执行,还是我的写法有问题?
http://www.dvbbs.net/tech/data/2006041339060.asp
.
.
.
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
ROLLBACK;
CLOSE data_cur;
END;
事实上我也看了几次过程的执行,最终都完成了我预期要做的工作,就是这个时间的延时有点不明白