如何彻底停止job

Posted

tags:

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

参考技术A 你可以尝试
1: select sid from v$lock where TYPE = 'JQ';
2: select sid,serial# from v$session where sid = :sid;
3: select ADDR ,PID ,SPID ,SERIAL# from v$process where pid = :sid;

oracle: kill the session
os : kill the process

hope this can help you

估计前提是 执行 job 的进程有多个
job_queue_processes integer 4

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

参考技术A 找出正在执行的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,查询正在运行的Job,通过查询有两个,和进程占用较多的是两个ORACLE进程符合。SQL> SELECT SID,JOB FROM DBA_JOBS_RUNNING; SID JOB\\x0d\\x0a---------- ----------12 11616 1172,查询正在运行的job的信息SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID=\'12\'; SID SERIAL#\\x0d\\x0a---------- ----------\\x0d\\x0a12 4SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID=\'16\'; SID SERIAL#\\x0d\\x0a---------- ----------\\x0d\\x0a16 13,利用查询出来的job信息将job结束掉SQL> ALTER SYSTEM KILL SESSION \'12,4\';System altered.SQL> ALTER SYSTEM KILL SESSION \'16,1\';System altered.\\x0d\\x0a4,如果不希望运行上述job的话,可以将job设置为broken.EXEC DBMS_JOB.BROKEN(116,TRUE);EXEC DBMS_JOB.BROKEN(117,TRUE);

以上是关于如何彻底停止job的主要内容,如果未能解决你的问题,请参考以下文章

如何停止Discovery Studio 2.5任务(job)

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

如何停止 Oracle dbms_job

Jenkins批量停止队列中卡主的jobs

彻底停止运行线程池ThreadPoolExecutor

DB笔试面试164在Oracle中,如何彻底停止expdp数据泵进程?