你的jobno是多少呢?这样能够定位到具体的job嘛?你可以查出job号通过all_jobs然后直接输入jobno就应该可以!

解决方案 »

  1.   

    try:
    'testmis.testp();'
    换成
    'testmis.testp;'
      

  2.   

    我看所有例子都是这样的啊,如:
    SQL> variable job1 number;
    SQL> 
    SQL> begin
      2  dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次
      3  end;
      

  3.   

    select job,what from all_jobs;
    看一下job号
      

  4.   

    我换了,还是不行:
    SQL> VARIABLE jobno number;
    SQL> begin
      2  dbms_job.submit(:jobno,'testmis.testp;',sysdate,'sysdate+1/1440');
      3  commit;
      4  end;
      5  /PL/SQL 过程已成功完成。SQL> begin
      2  dbms_job.run(:jobno);
      3  end;
      4  /
    begin
    *
    ERROR 位于第 1 行:
    ORA-12011: 无法执行 1 作业
    ORA-06512: 在"SYS.DBMS_IJOB", line 405
    ORA-06512: 在"SYS.DBMS_JOB", line 267
    ORA-06512: 在line 2
      

  5.   

    SQL> select job,what from all_jobs;       JOB
    ----------
    WHAT
    ---------------------------------------------
             1
    testmis.testp();         2
    testmis.testp();         8
    testmis.testp;
      

  6.   

    把没用的都去掉
    exec dbms_job.remove(n);
      

  7.   

    try:
    exec testmis.testp;
    看是否正确执行?
      

  8.   

    我删除所有的作业后,仍然无法运行
    SQL>  select job,what from all_jobs;       JOB
    ----------
    WHAT
    --------------------------------------------------------------------------------
             9
    testmis.testp;
    SQL> begin
      2  dbms_job.run(9);
      3  end;
      4  /
    begin
    *
    ERROR 位于第 1 行:
    ORA-12011: 无法执行 1 作业
    ORA-06512: 在"SYS.DBMS_IJOB", line 405
    ORA-06512: 在"SYS.DBMS_JOB", line 267
    ORA-06512: 在line 2
      

  9.   

    估计你是执行了错误的job。
    你删除所有的job,
    用上面方式创建job
    然后print jobno;得到job号
    exec dbms_job.run(job号);
      

  10.   

    SQL> print jobno;     JOBNO
    ----------
             9SQL> exec dbms_job.run(9);
    BEGIN dbms_job.run(9); END;*
    ERROR 位于第 1 行:
    ORA-12011: 无法执行 1 作业
    ORA-06512: 在"SYS.DBMS_IJOB", line 405
    ORA-06512: 在"SYS.DBMS_JOB", line 267
    ORA-06512: 在line 1
      

  11.   

    SQL> select job,what from all_jobs;未选定行SQL> VARIABLE jobno number;
    SQL> begin
      2  dbms_job.submit(:jobno,'testmis.testp;',sysdate,'sysdate+1/1440');
      3  commit;
      4  end;
      5  /PL/SQL 过程已成功完成。SQL> select job,what from all_jobs;       JOB
    ----------
    WHAT
    --------------------------------------------------------------------------------
            10
    testmis.testp;
    SQL> print jobno;     JOBNO
    ----------
            10SQL> exec dbms_job.run(10);
    BEGIN dbms_job.run(10); END;*
    ERROR 位于第 1 行:
    ORA-12011: 无法执行 1 作业
    ORA-06512: 在"SYS.DBMS_IJOB", line 405
    ORA-06512: 在"SYS.DBMS_JOB", line 267
    ORA-06512: 在line 1
      

  12.   

    SQL> begin
      2  dbms_job.run(:jobno);
      3  end;
      4  /
    begin
    *
    ERROR 位于第 1 行:
    ORA-12011: 无法执行 1 作业
    ORA-06512: 在"SYS.DBMS_IJOB", line 405
    ORA-06512: 在"SYS.DBMS_JOB", line 267
    ORA-06512: 在line 2
      

  13.   

    问题比较奇怪。
    try:
    connect testmis/password
    grant insert,select to system on testp;
    connect system/manager
    exec dbms_job.run(10);
      

  14.   

    我单独执行testmsi.testp是没有问题的,权限我想没有什么问题吧
    SQL> select job,what from all_jobs;       JOB
    ----------
    WHAT
    ------------------------------------------------------
            13
    testmis.testp;
    SQL> exec dbms_job.run(13);
    BEGIN dbms_job.run(13); END;*
    ERROR 位于第 1 行:
    ORA-12011: 无法执行 1 作业
    ORA-06512: 在"SYS.DBMS_IJOB", line 405
    ORA-06512: 在"SYS.DBMS_JOB", line 267
    ORA-06512: 在line 1
    SQL> exec testmis.testp;PL/SQL 过程已成功完成。SQL>
      

  15.   

    问题解决了,结贴前的最后一个问题,我换成SYS,DBA登录就成功了,请问为什么,谢谢!