我写的一个Job
declare
  job1 integer;
begin
  dbms_job.submit(job1,
    'Sale_FinanceUseFee(4,null,null,null);',
    TRUNC(SYSDATE)+1.103,
    'TRUNC(SYSDATE)+1.103');
  commit;
end;
我的本意是每天的凌晨2点28分执行
但是今天的中午1点25分执行,但是显示下次执行时间是明天的凌晨2点28分钟
这出现了什么问题啊?我该怎么改job?

解决方案 »

  1.   

    后面一个TRUNC(SYSDATE)应该改为TRUNC(SYSDATE+1)
      

  2.   

    晕,我开始看错了,你的JOB没问题,不用改的,上面当我没说
      

  3.   

    job没错,为什么在今天的下午1点25分执行呢?
      

  4.   

    是不是你写完JOB之后做过测试,执行过这个JOB
      

  5.   

    即使是重新又执行了这个job,比如说是昨天执行的,那么根据程序也是几天早上2点28分执行,根据间隔,也是后天2点28分再次执行的啊?
      

  6.   

    你submit的时候,是不是已经大于当天2点28分叻的。
      

  7.   

    inthirties,这有关系吗?比如是昨天3点钟submit的,那么不也是今天的2点28分执行的吧?
      

  8.   

    declare 
      job1 integer; 
    begin
    sys.dbms_job.submit(job => :job1,
    what => 'Sale_FinanceUseFee(4,null,null,null);',
    next_date => to_date('29-09-2009 02:28:00', 'dd-mm-yyyy hh24:mi:ss'),
    interval => 'TRUNC(SYSDATE)+1.103');
    commit;
    end;
      

  9.   

    今天下午1点25分执行的,这个时间你是从哪里得到的?
    你的ORACLE是装在LINUX上还是WINDOWS上?
      

  10.   


    下次执行时间怎么会是2009-09-29呢,这个时间不对啊,今天不是已经29号了吗
    如果你今天有这样建JOB的话,那你肯定是在下午1点25分建的,它当时就执行了
      

  11.   


    下次执行时间怎么会是2009-09-29呢,这个时间不对啊,今天不是已经29号了吗
    如果你今天有这样建JOB的话,那你肯定是在下午1点25分建的,它当时就执行了
      

  12.   

    今天好像好了,谢谢anly_hz,分给你了