oracle的job引起数据库崩溃,Oracle Job 死锁解决方案

Oracle执行定时JOB时,经常会遇到JOB意外死锁,或者一些JOB执行的程序有对外的接口,当网络中断或不稳定时,造成JOB死锁,占用资源,以下为解决方法:

(如果不想JOB释放后马上又重新执行,请先将JOB在数据库中Broken)

1.查看正在执行JOB的Job Id、SID、Serial#、SPID信息:

select c.JOB, b.sid, b.SERIAL#, spid

from v$process a, v$session b, dba_jobs_running c

where a.addr = b.paddr

and b.sid = c.sid

2.尝试使用以下语句SID、Serial#停止JOB进程:

alter system kill session '646,3312';

(其中'646,3312'分别就是上面查出的SID和Serial#)

3.如通过以上还是无法解决问题,继续按以下步骤执行:

(1)、首先通过1查询的JOB ID将死锁的JOB Broken掉;

(2)、用Root权限进入Linux后台,用kill -9 29202终止JOB进程(29202为1查询出得SPID);

(3)、在数据库恢复正常后,在启用JOB。

以上第1步最好在第2步无效的情况下使用,因直接终止进程可能会造成Oracle或操作系统不稳定或直接崩溃,另外如果还是无法解决以上问题,则只能重启Oracle数据库了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值