第1个回答 2012-02-28
通过dba_objects查找表的object_id,再查v$lock中id1等于object_id的,在这行里肯定有个不同于你SID的用户拥有了这个表的锁,它肯定在update这个表,长时间没有commit,要么找到这个client让它commit或者rollback,要么通过sid把它kill掉 下面还有几个方法 a. $ORACLE_HOME/rdbms/admin/utllockt.sql 好用! b.select blocking_session from v$session where blocking_session not is null 可以查出谁会阻塞会话 必须在10g中 c.dba_waiters 可以查询阻塞源和目标 d. dba_blockers 仅有一列阻塞源蓝屏