首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ORA-00054:资源繁忙,获取时指定了NOWAIT或超时已过期

ORA-00054:资源繁忙,获取时指定了NOWAIT或超时已过期
EN

Stack Overflow用户
提问于 2011-01-30 19:59:44
回答 15查看 1.2M关注 0票数 219

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

第1行出现

错误: ORA-00054:资源繁忙,获取时未指定等待或超时已过期

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2011-01-30 20:02:21

您的表已被某些查询锁定。例如,您可能已经执行了"select For update“,但尚未提交/回滚并触发另一个select查询。在执行查询之前执行提交/回滚。

票数 248
EN

Stack Overflow用户

发布于 2012-08-10 11:29:24

从这里开始ORA-00054: resource busy and acquire with NOWAIT specified

您还可以查找sql、用户名、计算机、端口信息,并进入持有连接的实际进程

代码语言:javascript
复制
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;
票数 112
EN

Stack Overflow用户

发布于 2014-02-10 19:01:08

请终止Oracle会话

使用以下查询检查活动会话信息

代码语言:javascript
复制
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;

像这样杀掉

代码语言:javascript
复制
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

票数 72
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4842765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档