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;

是否是下面的failures=3,表示3次失败执行 select JOB, LOG_USER,FAILURES from user_jobs; job log_user,failures ------------------------------------------------- 8 test 3

找出正在执行的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,...

SQL> create or replace procedure test_jobproce as 2 3 begin 4 5 insert into test_job values(sysdate); 6 7 end test_jobproce; 8 9 / 警告: 创建的过程带有编译错误。 SQL> show errors; PROCEDURE TEST_JOBPROCE 出现错误: LINE/COL ERRO...

通常像这种自动任务的脚本都需要记录日志,记录每次运行的状态情况,方便问题跟踪,有没有问题是过程脚本问题还是自动任务问题,查看日志一下子就可以定位。

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

作业时可以重复执行的,看你的时间计划怎么订的。当指定的时间到了以后,即使前面的作业没有完成,新作业也会执行,因为多个作业是可以并发执行的。当然,积累的作业多了,会带来严重的性能问题。

应该是能的哦!

Broken 可以通过下面的语句 移除broken: EXEC DBMS_JOB.BROKEN(JOB的ID,FALSE); 但是如果你的job一直都运行失败 那么仍会broken askmaclean oracle

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