ERROR at line 1: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired,如何解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

更新表时,为什么会收到这个数据库错误?

ERROR at line 1: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

提问于
用户回答回答于

您的表已被某些查询锁定。就像您已经执行了“SELECT for UPDATE”一样,还没有提交/回滚并再次触发SELECT查询。在执行查询之前执行提交/回滚。

用户回答回答于

可以查找sql、用户名、机器、端口信息,并获取包含连接的实际进程。

SELECT O.OBJECT_NAME, S.SID, S.SERIAL#, P.SPID, S.PROGRAM,S.USERNAME,
S.MACHINE,S.PORT , S.LOGON_TIME,SQ.SQL_FULLTEXT 
FROM V$LOCKED_OBJECT L, DBA_OBJECTS O, V$SESSION S, 
V$PROCESS P, V$SQL SQ 
WHERE L.OBJECT_ID = O.OBJECT_ID 
AND L.SESSION_ID = S.SID AND S.PADDR = P.ADDR 
AND S.SQL_ADDRESS = SQ.ADDRESS;

扫码关注云+社区