为什么我在更新表的时候会出现这个数据库错误?
第1行出现
错误: ORA-00054:资源繁忙,获取时未指定等待或超时已过期
发布于 2011-01-30 20:02:21
您的表已被某些查询锁定。例如,您可能已经执行了"select For update“,但尚未提交/回滚并触发另一个select查询。在执行查询之前执行提交/回滚。
发布于 2012-08-10 11:29:24
从这里开始ORA-00054: resource busy and acquire with NOWAIT specified
您还可以查找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;
发布于 2014-02-10 19:01:08
请终止Oracle会话
使用以下查询检查活动会话信息
SELECT
O.OBJECT_NAME,
S.SID,
S.SERIAL#,
P.SPID,
S.PROGRAM,
SQ.SQL_FULLTEXT,
S.LOGON_TIME
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;
像这样杀掉
alter system kill session 'SID,SERIAL#';
(例如,alter system kill session '13,36543'
;)
参考http://abeytom.blogspot.com/2012/08/finding-and-fixing-ora-00054-resource.html
https://stackoverflow.com/questions/4842765
复制相似问题