对数据库主表数据进行操作时,发现能查询,但是update,for update都时提示正在执行中,没有任何反应,我怀疑是锁表了,抱着试试看的态度,我发现还真是。
行锁的表现:
锁定的数据不能插入,更新,删除,只能查询,语法 for update都不好使;
处理方法:
1、查看被锁的表
select a.object_id,a.session_id,b.object_name from v$locked_object a,dba_objects b where a.object_id=b.OBJECT_ID
2、查出相关进程和序列号
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 desc
3、解锁
alter system kill session '1503,29579'