今天同事搞个表删除不了,应该是因为执行事物没提交就强行关闭了连接
原文出处:
http://andyliu8881231982.spaces.live.com/blog/cns!B6104129309E6965!156.entry
昨天在操作oracle的时候,要删除表的内容,总是死掉,pl/sql developer也关不掉,敲任何sql语句,总是提示cannot execute command now 最后想把这个表drop掉的时候,提示资源正忙,指定nowait 在sql语句后面加了nowait还是不行,于是就到网上搜nowait的用法,发现这种情况是死锁呢,虽然学操作系统和数据库的时候都有讲过死锁问题,基本理论知道,还没遇到过,赶紧搜下如何解锁,于是就有了下面的方法: oracle 解锁
select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time; --查看锁 --alter system kill session 'sid,serial#'; --把锁给KILL掉 alter system kill session '146,21177'; |