ORA-00054:资源繁忙,并在指定的NOWAIT下获取,或超时过后。

为什么我在更新表的时候会得到这个数据库错误?

在第1行出现错误。 ORA-00054:资源繁忙,并在指定的NOWAIT下获取,或超时过期

解决办法

你的表已经被某些查询锁定。例如,你可能已经执行了"更新的选择",但还没有提交/回滚和启动另一个选择查询。在执行你的查询之前做一个提交/回滚。

评论(4)

从这里https://stackoverflow.com/questions/3075738/ora-00054-resource-busy-and-acquire-with-nowait-specified

你也可以查找sql,username,machine,port的信息,并找到持有连接的实际进程。

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;
评论(5)

你的问题看起来像是你在混合DML和DDL操作。请看这个网址,它解释了这个问题。

http://www.orafaq.com/forum/t/54714/2/

评论(0)