ORA-04021:timeout occurred while waiting to lock object

编译某存储过程 ORA-04021 timeout occurred while waiting to lock object stringstringstringstringstring Cause: While waiting to lock a library object, a timeout is occurred. Action: Retry the operation later.

 查找是否有用户类型的锁,即

TM                DML排队

TX                事务处理排队

UL                 用户提供

select * from v$lock where type in ('TM','TX','UL')

结果果然查到有一个sid17,类型为TX的锁,可以断定就是这个锁导致上面的错误

再查相应的sidserial#

select * from v$session where sid=17

杀掉它

alter system kill session '17,36383'

ORA-00031: session marked for kill ,说明已经是被kill一次过的了,session的status为killed

再查操作系统对应的SPID select spid from v$process p,v$session s where s.paddr=p.addr and sid=17

查到是17297

$ kill -9 17297

重新编译,成功了

转载于:https://www.cnblogs.com/xiyuanbaiyun/p/4290002.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值