oracle中记录被另一个用户锁住的原因与解决办法

oracle中 “记录被另一个用户锁住”的原因与解决办法为什么会被锁 造成被锁的原因是什么

另一个用户在进行独占操作,例用for update命令,另一个用户commit或rollback后就解锁了,或DBA杀死那个用户的进程
温馨提示:答案为网友推荐,仅供参考
第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 仅有一列阻塞源蓝屏
第2个回答  2012-02-25
赞同一楼!!
相似回答