Kill运行中的JOB的问题

[@more@]

系统中有一个JOB,由于SQL编写的问题,导致运行了5个多小时还没完,我想把它kill掉。
1. 首先我得查看正在跑的JOB有哪些:SELECT /*+ RULE */ * FROM DBA_JOBS_RUNNING;
为什么要加这个RULE提示呢,因为在你SYS没被分析的时候,直接查询(CBO)是非常慢的。
可能在这个视图里查不到结果,但JOB的SESSION确实在跑。
10g的话可以查dba_scheduler_job_run_details获得更多信息。
接下来找到了这个JOB对应session的SID和对应的OS JOB进程(j000等)的SPID。
select * from gv$process s,gv$session gn
where s.ADDR=gn.PADDR and gn.STATUS='ACTIVE' a
nd gn.SCHEMANAME='A'
2. 然后,在OS上kill对应的SPID$> kill -9 SPID
3.过一分钟左右的时间,再次查询gv$session,发现此session还在,SPID变了,
在OS上自动产生了一个j000进程与此session对应。
4. 将job设成broken状态,再次 kill -9 SPID。过一分钟左右此session没了,OS也没再产生新的job进程。
5. 问题来了,虽然此时session和OS进程都没有与此JOB相关的东东存在,但此JOB的运行时间(total_time)仍在不停增加。
6. 尝试解决方法:(1)重启cjq0这个进程 无效(2)重启DB 无效如何解决这个total_time不停增加的问题呢?重建JOB!

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

转载于:http://blog.itpub.net/642366/viewspace-1044446/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值