ORA-00054: resource busy and acquire with NOWAIT specified

操作系统:AIX 6.1

数据库版本:11.2.0.4.170117

原因:OGG目的端相关表字段添加完毕,源端添加报错ORA-00054: resource busy and acquire with NOWAIT specified

 因申请变更时间将至 所以反馈到我处

验证现象:

一、检查数据是否有锁


检查结果为空,没有死锁对象


二、检查是否有对象被锁且未提交

单实例:


RAC:


二、根据sid查看具体的sql语句,如果sql不重要,可以kill

select sql_text

  from v$session a, v$sqltext_with_newlines b

 where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value) =b.hash_value

   and a.sid = &sid

 order by piece;



三、kill该事务

alter system kill session 'SID,SERIAL#';


结果有两个会话,因为时间关系,未检查是何SQL导致,直接KILL 

SQL> alter system kill session '952,57243';

System altered.


SQL> alter system kill session '6301,8029';

System altered.


####ORA-00031: session marked for kill

一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。

现在提供一种方法如下:

提供如下SQL 可以 OS级别KILL

select '!kill -9 '||p.spid||'' from v$process p,v$session s where p.addr=s.paddr  and sid=&sid;


四、这样就可以执行其他的事务sql语句了

再次执行添加字段:

SQL>  alter table newbcexplore.item add MIN_ORDER_QTY FLOAT;

Table altered.

完毕!


总结:

当某个数据库用户在数据库中插入、更新、删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource busy and acquire with nowait specified这样的错误。

主要是因为有事务正在执行(或者事务已经被锁),所有导致执行不成功。


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

转载于:http://blog.itpub.net/30327022/viewspace-2652580/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值