oracle执行update语句卡死

oracle执行update语句卡死

问题:当在plsql上执行update语句时,一直在显示正在执行中,很久不出结果。执行select语句或者是其他表的update语句时,可以正常执行
原因:只有update无法执行,其他语句可以执行的时候,是因为记录锁导致的
解决办法:
1、查询锁定的记录

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;
SELECT a.sid, a.serial#,a.USERNAME,ao.OBJECT_NAME FROM v$locked_object lo, dba_objects ao, v$session a WHERE ao.object_id = lo.object_id AND lo.session_id = a.sid;

2、然后删除

ALTER system KILL session 'SID,serial#'

问题解决。

另:执行删除语句是可能会报
Oracle数据库教程:ORA-01031:权限不足
解决:grant all privileges TO 用户

你可能感兴趣的:(oracle,数据库,sql)