ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效 发生异常
原因:其他Session已经对目标表做了操作,且未提交操作,导致锁表,新的Session无法再对表进行DDL操作。
Plan-A:等待原session执行完对表的操作,或commit对表的操作。
Plan-B:关闭原会话。
-- 查询被的会话 ID
|
1 |
select
session_id
from
v$locked_object; |
--
查询结果:
SESSION_ID-------9
-- 查询上面会话的详细信息:
|
1 |
SELECT
sid, serial#, username, osuser
FROM
v$session
where
sid = 9; |
--
查询结果:
serial#------99
-- 将上面锁定的会话关闭:
|
1 |
ALTER
SYSTEM KILL SESSION
'9,99'
; |
-- 给出对象,直接把涉及到的会话全kill
|
1
2 |
select
'ALTER SYSTEM KILL SESSION '
''
||sid||
','
||serial#||
''
';'
from
v$session
where
sid
in(
select
session_id
from
v$locked_object
where
object_id
in
(
select
object_id
from
dba_objects
where
object_name=
'C_xxx'
));
|
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70013625/viewspace-3086769/ ,如需转载,请注明出处,否则将追究法律责任。