每日凌晨1点自动执行过程declare job1 integer;
begin
dbms_job.submit(job1,'过程名称;',to_date('2011-07-23 00:03:00','yyyy-mm-dd hh24:mi:ss'),'TRUNC(SYSDATE)+1+1/480');
commit;
end;
如何定制每日凌晨12:03分自动执行过程。我的意思是说规定每天晚上12:03分才开始自动执行,如何修改上面的呢???。

解决方案 »

  1.   

    trunc(sysdate + 1) +3/1440
      

  2.   

    楼主写的不就是每天晚上12:03自动执行的么。  TRUNC(SYSDATE)+1+1/480 = 'TRUNC(SYSDATE)+1+3/1440
    如果你想改成每天1点执行declare job1 integer;
    begin
    dbms_job.submit(job1,'过程名称;',to_date('2011-07-23 01:00:00','yyyy-mm-dd hh24:mi:ss'),'TRUNC(SYSDATE)+1+1/24');
    commit;
    end;
      

  3.   

    declare job1 integer;
    begin
    dbms_job.submit(job1,'过程名称;',to_date('2011-07-23 00:03:00','yyyy-mm-dd hh24:mi:ss'),'TRUNC(SYSDATE)+1+3/1440');
    commit;
    end;
      

  4.   

    可以试一下重新新建一个job,然后里面执行一些测试代码,看看是不是下次执行时间还会延迟我觉得可能是其它原因导致job执行不正常
      

  5.   


    BEGIN 
    DBMS_JOB.Next_Date(JOB1,TRUNC(SYSDATE)+1+3/24/60);
    COMMIT;
      

  6.   

    不会,你可以仔细研究一下你原来的job,时间应该不是这么写的 trunc(sysdate)+1+1/480 时间都是固定的就是第二天的00:30,如果你写成 sysdate + 1 + 1/480 那就不一定了。你原来写的job运行时间肯定就是这样了。
      

  7.   

    trunc(sysdate)+1+1/480  这就是固定时间执行的写法,你原来写的一定不是这个样子的,好好研究下。
      

  8.   

    linux crontab
    windows 任务计划