日期:2014-05-17  浏览次数:20761 次

jobs自动执行问题
现有一导数据存储过程,
在TOAD中建一JOBS调用该存储过程,
由于存储过程带参数,因此JOBS也带参数,
右键执行该JOBS,导数据正常!
但当JOBS设置自动执行时,存储过程未执行!
SELECT   *   FROM   user_jobs,发现字段:FAILURES为2,说明失败了两次,
不知为何自动执行会失败!
望各位指教!不胜感激!

------解决方案--------------------
看看你init.ora里边的job_queue_processes是不是为0 如果是 
执行alter system set job_queue_processes=10; 然后再看看JOB好了没有
------解决方案--------------------
手工执行job可以不?

若是手工执行可以,看看job_queue_processes是否为空?为空的话,使其不为空即可
------解决方案--------------------
单独执行下你的存储过程 是不是存储过程报错呀

还是你在写JOB参数的时候有问题
------解决方案--------------------
也许你自动执行和手工执行传的参数不一样
------解决方案--------------------
把你的Job脚本贴出来,大家看看
------解决方案--------------------
建议该用单引号的地方用 ' ' '代替试试。
------解决方案--------------------
接分来了~~~~~~~~~~~
------解决方案--------------------
执行下你的存储过程 是不是存储过程报错呀

或者把里面的代码一段段的去掉看看到哪步不出错

------解决方案--------------------
修改job后,注意加commit;
------解决方案--------------------
sys.dbms_job.CHANGE(job => :job, what => :what, next_date => :next_date, INTERVAL => :INTERVAL);

variable job number;
begin
dbms_submit(:job,
'SJJH_UPDATE_ALLTABLE(0, ' '自动 ' ',0); '),
to_date( '2007-04-02 10:20:00 ', 'yyyy-mm-dd HH24:mi:ss '),
'SYSDATE+30/1440 '
);
commit;
end;
/

用这个建立job试一下.应该OK的.