oracle job一直运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle job一直运行相关的知识,希望对你有一定的参考价值。

用oracle的job定时调用存储过程,如存储过程陷入死循环或其他原因导致,job的状态是一直运行。这时,手动调用存储过程,由于锁表的原因,存储过程也会执行不下去。此时,需要先停掉job,命令如下:BEGIN dbms_scheduler.stop_job(job_name => ‘GETHOLDS‘);END;


如存储过程还是执行不了,需要检查一下存储过程的表是否被进程占用而被锁住了,找到该进程并杀掉:

select sess.sid,
    sess.serial#,
    lo.oracle_username,
    lo.os_user_name,
    ao.object_name,
    lo.locked_mode
    from v$locked_object lo,
    dba_objects ao,
    v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;


alter system kill session ‘738,1429‘;

以上是关于oracle job一直运行的主要内容,如果未能解决你的问题,请参考以下文章

大家好,谁知道ORACLE中周期运行的JOB为啥会自动停止呢,啥办法可以杜绝这种问题,谢谢高手给予解答

Oracle SQL 运行批处理

oracle如何查询和停止正在运行的job?

Oracle 停止impdp或expdp过程

oracle查看job执行记录

oracle job不自动执行