解决ORACLE.EXE (J000)导致的JOB卡死无法执行

有时候安装在windows下的Oracle的JOB定时任务在调用存储过程时会因为ORACLE.EXE (J000)或ORACLE.EXE (J001)进程出现,导致JOB卡死无法执行。

 

进程代码和相关代码的含义见我的另外一篇博客:

https://blog.csdn.net/dante_feng/article/details/90232763

 

ORACLE.EXE (J000)

job 具体执行进程,接受 CJQ0 分发的 job 任务,可能存在J00n的情况如J001。

 

下面说一下JOB因为J000进程导致卡死无法执行的解决方法:

通过sql查询是否存在导致JOB卡死的进程的spid:

select spid from v$session s,v$process p where s.paddr=p.addr and s.PROGRAM like 'ORACLE.EXE%' and s.ACTION = '(JOB名)' and s.BLOCKING_SESSION_STATUS = 'UNKNOWN';

例如查询到的SPID为 1234,我们需要通过这个SPID来杀掉卡死的进程。

 

一般情况下可能存在使用Oracle层面的kill语句杀不掉进程的情况,我们可以通过查询到的spid使用操作系统命令行来kill掉进程:

我们可以调出windows的cmd命令行,使用如下命令杀掉卡死的进程:

orakill orcl (SPID)

例如:orakill orcl 1234

其中orcl为数据库的实例名,可按需进行修改。

 

杀掉进程后JOB定时任务即可恢复正常。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值