解决方案 »

  1.   

    应该与你开始时间有关。
    LAST_DAY(SYSDATE)取值日期虽然没错,但是时间去的是当前。
    比如现在取LAST_DAY(SYSDATE)其值是2014/3/31 14:02:29
    在加上你的22.5/24肯定下次执行的时间是第二天了。。建议开始时间设置为yyyy-mm-dd 00:00:01
      

  2.   


    但是我有用TRUNC函数截取的。数据库显示的下次执行时间也是:
    JOB    LAST_DATE  LAST_SEC    NEXT_DATE       NEXT_SEC           INTERVAL                  WHAT   
    ----- ----------- -------- ----------------- -------- -------------------------------  ------------
    141   01-3月 -14  00:36:18  20140331 223000  22:30:00 TRUNC(LAST_DAY(SYSDATE))+22.5/24  SP_BIAS_JOB; 
      

  3.   


    但是我有用TRUNC函数截取的。数据库显示的下次执行时间也是:
    JOB    LAST_DATE  LAST_SEC    NEXT_DATE       NEXT_SEC           INTERVAL                  WHAT   
    ----- ----------- -------- ----------------- -------- -------------------------------  ------------
    141   01-3月 -14  00:36:18  20140331 223000  22:30:00 TRUNC(LAST_DAY(SYSDATE))+22.5/24  SP_BIAS_JOB; 对不起,没看清。不过又有了一个疑问,你的这个job在月底最后一天得10点30分到3月1号之间这段时间,不是再一直循环执行么?
      

  4.   


    但是我有用TRUNC函数截取的。数据库显示的下次执行时间也是:
    JOB    LAST_DATE  LAST_SEC    NEXT_DATE       NEXT_SEC           INTERVAL                  WHAT   
    ----- ----------- -------- ----------------- -------- -------------------------------  ------------
    141   01-3月 -14  00:36:18  20140331 223000  22:30:00 TRUNC(LAST_DAY(SYSDATE))+22.5/24  SP_BIAS_JOB; 对不起,没看清。不过又有了一个疑问,你的这个job在月底最后一天得10点30分到3月1号之间这段时间,不是再一直循环执行么?
    就是next执行时间一直是月底的10点30分。。
      

  5.   

    那就是说SP_BIAS_JOB执行时间会很超过1.5小时啊,那你这么说没问题。
    唯一可能就是系统的一些操作或者数据库的一些操作让job延迟执行了。这个真的靠想是想不出原因了。。
      

  6.   

    interval时间间隔应该是这样吧
    TRUNC(LAST_DAY(add_months(sysdate,1)))+22.5/24