oracle:一执行sql,表就锁了
1.查询锁表语句:
SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s
WHERE l.object_id = o.object_id AND l.session_id = s.sid;
2.删除锁表
alter system kill session 'sid, serial#';
eg:ALTER system kill session '1026, 22197';
注意:如果不删除,数据库一会儿也会自动删除
3.原因:
造成锁表一般都是没有commit,事务没有提交,至于事务为什么没有提交,在程序方面一般有几个原因:
1)dao层的修改或者删除,没有service层,直接用controller调用,所以没有添加事务
2)service层的方法名不正确,与spring里的配置文件,不对应,造成锁表
浙公网安备 33010602011771号