我在pl/sql中创建了一个job如下
SQL> variable job1 number;
SQL> begin
  2      sys.dbms_job.submit(job=>:job1,
  3      what=>'p_Sendmsg_dxtxliu;',                  ----定时运行p_Sendmsg_dxtxliu这个存储过程
  4      next_date=>sysdate,
  5      interval=>'trunc(sysdate+1,''dd'')+1/24');   ----每小时运行一次
  6      commit;
  7  end;
  8  /PL/SQL procedure successfully completed
job1
---------
108但是我点这个job名右键run的时候报错:
如图,是我job写得有问题还是其它原因?各位大虾请赐教啊!第一次用job
Error running job 108:
ORA-12011: execution of 1 jobs failed
ORA-06512: at "SYS.DBMS_IJOB",line 406
ORA-06512: at "SYS.DBMS_JOB",line 272
ORA-06512: at line 1
图片似乎不能发,我把上面的错误都贴上来了,先谢谢大家了

解决方案 »

  1.   

    自己也顶一下哦,期待job高手来帮帮忙啊
      

  2.   

    DECLARE
      X NUMBER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT
      ( job       => X 
       ,what      => 'PR_PLAY_MIN_COST
      (sysdate-61 ,
       sysdate-1 ,
       ''%''   );'
       ,next_date => to_date('01/05/2008 00:00:00','dd/mm/yyyy hh24:mi:ss')
       ,interval  => 'TRUNC(LAST_DAY(SYSDATE)) + 1'
       ,no_parse  => FALSE
      );
      SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
    COMMIT;
    END;这是我写的JOB,你参考下吧,运行pr_play_min_cost这个存储过程,有三个参数的我估计你可能是next_date这写的不对,这里SYSDATE应该是不行的,要写具体的日期
      

  3.   

    'trunc(sysdate+1,''dd'')+1/24'); 你的括号匹配吗?
      

  4.   

    你每小时运行次只要这样写就行了
    sysdate+1/24
    你的JOB改一下
    SQL> variable job1 number; 
    SQL> begin 
      2      sys.dbms_job.submit(job=>:job1, 
      3      what=>'p_Sendmsg_dxtxliu;',                  ----定时运行p_Sendmsg_dxtxliu这个存储过程 
      4      next_date=>to_date('26/4/2008 15:00:00','dd/mm/yyyy hh24:mi:ss') , 
      5      interval=>'sysdate+1/24');   ----每小时运行一次 
      6      commit; 
     7  end; 
      8  / 
      

  5.   

    next_date=>sysdate,很显然有问题