ITPub博客

首页 > 应用开发 > IT综合 > Stop runnung job

Stop runnung job

原创 IT综合 作者:oo0yuki0oo 时间:2011-08-13 14:56:44 0 删除 编辑

找出正在执行的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
---------- ----------
109 4
2,查询正在运行的job的信息

SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID='109';

SID SERIAL#
---------- ----------
109 43184

3,利用查询出来的job信息将job结束掉

SQL> alter system kill session '109,43184';

System altered.

4,如果不希望运行上述job的话,可以将job设置为broken.

EXEC DBMS_JOB.BROKEN(116,TRUE);

EXEC DBMS_JOB.BROKEN(117,TRUE);

删除job用 exec dbms_job.remove(116);

[@more@]

另外补一个查当前死锁的

select t2.username||'  '||t2.sid||' 
'||t2.serial#||'  '||t2.logon_time||' 
'||t3.sql_text
from v$locked_object t1,v$session t2,v$sqltext t3
where t1.session_id=t2.sid
and t2.sql_address=t3.address
order by t2.logon_time;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8337095/viewspace-1053798/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: ORA-12560
请登录后发表评论 登录
全部评论

注册时间:2009-04-22

  • 博文量
    62
  • 访问量
    82173