ITPub博客

首页 > 数据库 > Oracle > "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源"的解决方法

"ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源"的解决方法

原创 Oracle 作者:pan_tian 时间:2014-07-03 11:47:11 0 删除 编辑

对表做DDL操作,报ORA-00054的错误

中文:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源

英文:ORA-00054: resource busy and acquire with NOWAIT specified


Cause & Solution

Oracle的文档对于ORA-00054解释比较含糊,只是简单的说资源忙,建议重新尝试。

ORA-00054: resource busy and acquire with NOWAIT specified

Cause: Resource interested is busy.

Action: Retry if necessary.

ORA-00054一般是由于其他Session已经对目标表做了操作,并且已经有排他锁在表上了,所以新的Session无法做DDL操作。


可能的解决方法:

*  就像Oracle文档建议的那样,稍后重试;

* Kill那个排他锁

如果是Kill Lock的话,可以参考下边的方法:

SELECT OBJECT_NAME AS 对象名称,S.SID,S.SERIAL#,P.SPID AS 系统截程号
FROM V$LOCKED_OBJECT L , DBA_OBJECTS O , V$SESSION S , V$PROCESS P
WHERE L.OBJECT_ID=O.OBJECT_ID AND L.SESSION_ID=S.SID AND S.PADDR=P.ADDR;

ALTER SYSTEM KILL SESSION \'SID,SERIAL#\';--sid及serial#为第一步查出来的数据。






<!-- Baidu Button BEGIN -->

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

上一篇: Oracle数据库间的数据复制 - SQLPlus中的COPY命令
下一篇: Oracle Database Support Timeline
请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2012-02-18

最新文章