示例:数据库表(如:SYS_DATASOURCE)进行for update查询后,再次执行查询操作,一直处于“正在执行”状态。
问题原因:执行select * from SYS_DATASOURCE for update之后,修改字段信息,没有提交。随后执行其它查询语句,导致锁表。
解决方法:
查询锁定记录:SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;
删除锁定记录:ALTER system KILL session 'SID,serial#';