如何彻底停止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的主要内容,如果未能解决你的问题,请参考以下文章