oracle中的一个表执行下列语句:
select * from tablename where id=1 for update
长时间无响应,查看session有该语句对该表的锁,求高手解答是什么原因!!!!万分感谢!!!!!!!

解决方案 »

  1.   

    表可能被其它事务锁住了,叫 dba查一下
      

  2.   

    没事别玩 for update,这张表不是一个人在用。
      

  3.   

    把表的锁kill掉,
    其他地方对这个表进行了DML操作,如你手动(更新、删除,插入)这个表但是没有commite。再次调用会出现这种情况。
      

  4.   

    这个表只有我一个人操作,没有其他人或者程序用他,只是下午执行了一下update语句长时间没执行成功,强制退了plsql,然后再不能动它了,只是用for update尝试一下能不能操作它,结果操作不了,查看session也没有看到有锁它的,不明白问题出在什么地方
      

  5.   

    哦,你确定你会查?你查查你session有active状态的,看看这些session在做什么的,找出锁住的session,杀掉就行了