nstc.net
当前位置:首页 >> OrAClE joB不执行怎么分析处理 >>

OrAClE joB不执行怎么分析处理

select * from dba_jobs 看一下job 上次运行时间,本次应该什么时间运行 select * from dba_jobs_running 看一下目前正在运行的job,是否包含当前job show parameters job_queue_processes 看一下当前数据库实例最多可以运行的job数是否超过上限

用sysdba登录,执行show parameter job_queue_process看看结果是不是0 如果是这个原因,可以修改此参数 ALTER SYSTEM SET job_queue_processes = 10;

要查failure的原因,最简单job里记录运行情况日志并输出

找出正在执行的JOB编号及其会话编号 SELECT SID,JOB FROM DBA_JOBS_RUNNING; 停止该JOB的执行 SELECT SID,SERIAL# FROM V$SESSION WHERE SID='&SID'; ALTER SYSTEM KILL SESSION '&SID,&SERIAL'; EXEC DBMS_JOB.BROKEN(&JOB,TRUE);实例分析:1,...

1:把建job的脚本发出来看看2:检查dba_jobs中job的状态3:检查job的频率设置是正确

查看job_queue_processes 值,必须大于0才会执行 show parameter job ; 更改job_queue_processes 值 alter system set job_queue_processes =20

begin sys.dbms_job.submit(job => :job, what => 'begin insert into table_a values(sysdate); end; / ‘ next_date => to_date('25-07-2013 16:00:00', 'dd-mm-yyyy hh24:mi:ss'), interval => 'TRUNC(sysdate,''hh'') + 1/4');

服了。你调的对象,有没有达成你的目的,比如你的job是调用发短信的过程。看表里有没有发送对象,发送内容等信息就可以了

job的运行情况无非是成功和失败,oracle也不会记录的 select * from dba_jobs 所有的JOB select * from dba_jobs_running 正在运行

解决办法: 1、exec dbms_job.broken(22,false,sysdate+1/2440); commit; 2、SQL> exec dbms_job.run(22,true); commit;

网站首页 | 网站地图
All rights reserved Powered by www.nstc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com