比如上一次的执行是2010-12-10 10:10:10时间间隔是1天sysdate+1等执行完毕后,next date 后面的时间会变成2010-12-11 10:10:15这是怎么回事?

解决方案 »

  1.   

    你是执行完过程才sysdate+1
    那多出来的5s应该是你执行过程所花的时间
      

  2.   

    那就把参数从sysdate+1改成 trunc(sysdate,'hh24')+1
      

  3.   

    哦,是分钟的话就改成trunc(sysdate,'mi')+1
      

  4.   


    先 sysdate + 1,再执行job
       V_NEXTDATE := TRUNC(SYSDATE+1) + 10/24; ---- SYSDATE + 1 表示第二天    DBMS_JOB.SUBMIT(V_JOBNUM,'*****;',V_NEXTDATE,'TRUNC(SYSDATE+1) + 10/24');
      

  5.   

    可能是oracle的准备工作耽误了一些时间.
    比如oracle执行job前先要计算下一次运行时间什么的.
      

  6.   


    改为trunc(sysdate,'hh24')+1是什么意思?是准确的加1天吗?有没有先计算好下次的执行时间,再执行过程的?这样就不会有延误了
      

  7.   

    应该是你什么操作延误了 what的 你是不是修改过程等东西 以及还有其他同样在这个时候运行的作业你是要每天定在10:10:10运行
    next_date=>'trunc(sysdate+1,''mi'')+interval ''10'' second'
      

  8.   

    --好像用截断时间的方法不行啊
    已写入 file afiedt.buf  1* select trunc(to_date('2010-12-10 10:10:10','yyyy-mm-dd hh24:mi:ss'),'mi')+1 from dual
    scott@YPCOST> /TRUNC(TO_DATE('2010
    -------------------
    2010-12-11 10:10:00--楼主要的是2010-12-11 10:10:10 已写入 file afiedt.buf  1  select to_date(to_char(to_date('2010-12-10 10:10:10','yyyy-mm-dd hh24:mi:ss')
      2                               ,'yyyymmdd hh24:mi')||':10',
      3*                'yyyy-mm-dd hh24:mi:ss')+1 from dual
    scott@YPCOST> /TO_DATE(TO_CHAR(TO_
    -------------------
    2010-12-11 10:10:10
      

  9.   


    的确有更改过存储过程,但是都是提前几秒就更改好了的(比如10:30分执行JOB,我10:29分就更改了存储过程的)为什么还会有影响?