您的位置:首页 > 数据库 > Oracle

ORACLE操作表时”资源正忙,需指定nowait"的解锁方法

2010-09-08 08:35 344 查看

ORACLE操作表时”资源正忙,需指定nowait"的解锁方法

问题:

执行 drop table table_name 时,提示”资源正忙,需指定nowait"
由于TB_PROJECT为设置主键造成只能查询而无法修改和删除的问题导致PL/SQL无响应,从而对此表一直处于锁定状态

分析:

表示table_name表由某个用户操作时进行了锁定,必须先解锁才能继续进行操作

解决:

1> 通过此语句查询正在锁定的SESSION_ID:

SELECT SESSION_ID FROM V$LOCKED_OBJECT,USER_OBJECTS WHERE V$LOCKED_OBJECT.OBJECT_ID = USER_OBJECTS.OBJECT_ID

2> 通过第一步查询到的SESSION_ID查询SERIAL#

SELECT SERIAL# FROM V$SESSION WHERE SID='SESSION_ID'(此处为上面查询到的'SESSION_ID)

3> 根据1,2步查询到的SESSION_ID和SERIAL#执行ALTER SYSTEM KILL SESSION '48,2476'(48为SESSION_ID的值, 2476为SERIAL#的值)

/article/5376235.html

Oracle解锁问题
执行 truncate table 报错:ORA-00054: 资源正忙,要求指定NOWAIT

解决:

通过v$session,v$locked_object查看谁锁定了资源
select t1.sid, t1.serial#, t1.username, t1.logon_time from v$session t1 , v$locked_object t2
where t1.sid = t2.session_id order by t1.logon_time

通过alter system kill session 'sid, serial#'把session kill掉
alter system kill session '6,8'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐