日期:2014-05-17  浏览次数:20802 次

求助各位大神,关于表级锁的解除
一用户用select × from tablename_ for update 锁住表
管理员或其它用户如何KILL该用户还能让原用户锁表之前的数据没有损失

------解决方案--------------------
1)于mysql,select ... for update 对行记录加个X锁,当事务commit,锁也就释放了
2)于oracle,当发出select ... for update的时候、得到的是RX锁(lmode=3),同时通过trc文件,我们还可以发现,Lck被置为1,也也就是同时被加上了行级锁,所以,oracle里面这条语句既有行锁也有表锁,需找到v$lock.sid将之kill,同时结束该事务。