数据库操作不当,使用for update修改数据 锁住表

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KindergartenBoss/article/details/80927218

利用plsql连接oracle数据库, 可以查询出来数据,在sql语句后面加上for update就查询不出来数据了

解决办法:

1.查询出来数据库中锁住的表

select b.owner,b.object_name,a.session_id,a.locked_mode 
   from v$locked_object a,dba_objects b

  where b.object_id = a.object_id;

2.查询出是哪个sid(session)引起的

select b.username,b.sid,b.serial#,logon_time
  from v$locked_object a,v$session b

  where a.session_id = b.sid order by b.logon_time;


3.杀掉这个进程就可以了

alter system kill session 'sid,serial#';  (其中sid和serial#就是第二步查询出来的。)

猜你喜欢

转载自blog.csdn.net/KindergartenBoss/article/details/80927218