我已经创建好procedure了,因为之前的job执行时间变化,所以我想重新做个job,但是做完后我在plsql里jobs下面没有看到,以下是我写job的脚本
1.begin
dbms_scheduler.create_job(
job_name=> 'db.z_temp',
program_name=> 'db.daysync',
start_date=>To_Date('25-6-2008 11:00:00','dd-mm-yyyy hh24:mi:ss'),
repeat_interval=>'FREQ=MONTHLY;INTERVAL=1',
end_date=>To_Date('25-6-2008 11:00:00','dd-mm-yyyy hh24:mi:ss'),
comments=>'Monthly statistics collection job');
end;

解决方案 »

  1.   

    你自己的建job的规则,确认是oracle的
    看看oracle建job 的语法
    DECLARE
      X NUMBER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT
      ( job       => X 
       ,what      => 'db.z_temp;'
       ,next_date => To_Date('25-6-2008 11: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;
    /
      

  2.   

    select * from ALL_JOBS我没有看到啊,而且当时执行的时候没有报错啊,我想做个新的job名字是z_temp,调用procedure是daysync,
    我现在查询select * from z_temp的时候报错:ora-04044:此处不容许过程,函数,程序包或类型;
    执行:begin
    dbms_job.remove(db.z_temp);
    end;
    的时候报错对象db.z_temp无效
      

  3.   

    我按照hebo2005的方法也弄过,但是在创建job的时候报错:
    Declare   
     z_temp Integer;
    begin
      DBMS_JOB.SUBMIT(
        :z_temp,
      'daysync;',
      To_Date('25-6-2008 11:00:00','dd-mm-yyyy hh24:mi:ss'),
     'trunc(sysdate)+1'
      ); 
    commit;
    end;ora-06550:第四行,第二列:
    pls-00103:出现符号“”在需要下列之一时:
    begin case declare exit for
    goto if loop mod null pragma raise return select update while with<an identifier><a double-qouted delimited-identifier>
    <a bind variable><<close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe
      

  4.   


    DECLARE 
      X NUMBER; 
    BEGIN 
      SYS.DBMS_JOB.SUBMIT 
      ( job      => X 
      ,what      => 'daysync;' 
      ,next_date => To_Date('25-6-2008 11:00:00','dd-mm-yyyy hh24:mi:ss') 
      ,interval  => 'TRUNC(SYSDATE) + 1' 
      ,no_parse  => FALSE 
      ); 
      SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' ¦ ¦ to_char(x)); 
    COMMIT; 
    END; 另外JOB是只有编号,不会有名字的
      

  5.   

    成了,谢谢啊,我是新手,多谢大家帮忙,尤其是hebo2005,你太牛了
      

  6.   

    DECLARE 
      X NUMBER; 
    BEGIN 
      SYS.DBMS_JOB.SUBMIT 
      ( job      => X 
      ,what      => 'daysync;' 
      ,next_date => To_Date('25-6-2008 11:00:00','dd-mm-yyyy hh24:mi:ss') 
      ,interval  => 'TRUNC(SYSDATE) + 1' 
      ,no_parse  => FALSE 
      ); 
      SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' ¦ ¦ to_char(x)); 
    COMMIT; 
    END;