ORA-00054资源正忙,要求指定以nowait方式获取资源的解决过程
(2015-08-08 16:12:13)
标签:
ora-00054ora-00054资源正忙ora-00054报错解决ora-00054错误详解oracle错误解决处理 |
分类: Oracle数据库 |
一、错误描述
中文:ORA-00054: 资源正忙, 但指定以 NOWAIT
方式获取资源
英文:ORA-00054: resource busy and acquire
with nowait specified
二、解决方法
1、以DBA权限用户登录,用下列语句找出所有被锁定的对象,定位出哪个回话占用着资源,可以看到是那个用户,操作系统登录名称,操作时间等详细信息
select
l.session_id,o.owner,o.object_name,l.oracle_username,l.os_user_name,o.last_ddl_time
from gv$locked_object l,dba_objects o
where l.object_id=o.object_id;
结果:
session_id owner
object_name
oracle_username
os_user_name
last_ddl_time
---------- -------- --------------------
------------------------ -------------------
------------------
158
sa
test_1
test01
hyy_win8
2013-8-24 11:59:25
146
sa
test_1
test02
xjj_win8
2016-3-4 18:06:46
说明:查询当前被锁定资源的情况,定位哪些会话需要被删除。
2、找出所有造成锁定的会话
select
t2.sid,t2.serial#,t1.oracle_username,t1.os_user_name,t2.logon_time,t2.status,t2.terminal,
t2.machine,t2.osuser,t2.program,t2.type,t2.sql_exec_start,
'alter system kill session '''||t2.sid||','||t2.serial#||''';'
as kill_command
from gv$locked_object t1,gv$session t2
where t1.session_id=t2.sid
order by t2.logon_time;
结果:
---------- ---------- ------------------------------ ------------------------------ ----------- -------- ------------------------------ ---------------------------------------------------------------- ------------------------------ ------------------------------------------------ ---------- --------------