oracle 怎么查找和kill 对应的job进程

2025年03月21日 21:36
有1个网友回答
网友(1):

oracle 如何查找和kill 对应的job进程
查找当前被锁住的进程:

SELECT object_name, s.sid, s.serial#, p.spid
FROM v$locked_object l, dba_objects o, v$session s, v$process p
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
AND s.paddr = p.addr;

Kill 对应的Oracle Session

应为BROKEN后该JOB还在运行,如果要求该JOB立刻停止,就需要找到该job的对应SESSION(SID,SERIAL#),然后执行以下命令:
ALTER SYSTEM KILL SESSION 'sid,serial#';

将Job Queue Processes的数目修改为0

首先确认当前的Job Queue Processes的数目
SQL> select name,value from v$parameter where name ='job_queue_processes';
然后将Job Queue Processes的数目修改为0
ALTER SYSTEM SET job_queue_processes = 0;

保证所有的JOB都会停止。

恢复job_queue_processes的原始值

ALTER SYSTEM SET job_queue_processes = original_value;