今天在自己电脑的数据库里使用job没问题,但远程访问其他电脑的数据库,使用job却出现了问题,望各位高手指教。以下是我定义的job(pro为存储过程名)SQL> variable jobnum number;
SQL> begin 
  2  dbms_job.submit(:jobnum,'pro;',sysdate,'sysdate+8/24');
  3  commit;
  4  end;
  5  /
SQL> begin
  2  dbms_job.run(:jobnum);
  3  end;
  4  /
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 3
jobnum
---------
67
SQL>  select job, failures, broken from user_jobs;
 
       JOB   FAILURES BROKEN
---------- ---------- ------
        67          3 N

解决方案 »

  1.   

    是不是权限问题,有访问远端数据库中PRO的权限吗?
    还有show parameter job
    看看
    job_queue_processes 应该大于0alter system set job_queue_processes integer =10;
      

  2.   

    alter system set job_queue_processes=10;
      

  3.   

    存储过程PRO我就建在远程数据库中,show parameter job我也使用过了,job_queue_processes具体是多少我忘了,不过可以确定的是job_queue_processes大于0
      

  4.   

    比较奇怪.看样子是job创建没问题.只是执行过程的时候报错.确认下过程状态正常?
      

  5.   

    在自己电脑的数据库里使用job没问题(执行存储过程没问题),但远程访问其他电脑的数据库,使用job却出现了问题(执行的存储过程与在自己电脑里的存储过程代码一样)
      

  6.   

    select STATUS from user_objects t where t.object_name='PRO';
    看看是valid还是invalid
      

  7.   

    SQL> select STATUS from user_objects t where t.object_name='pro';STATUS
    -------
      

  8.   

    SQL> select STATUS from user_objects t where t.object_name='PRO';
     
    STATUS
    -------
    VALID
      

  9.   

    那奇怪了,单独执行PRO报错么?
      

  10.   

    很感谢大家的热心,虽然用语句创建不了,但我改成手动创建job后就没问题了