经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
oracle中表记录被另一个用户锁住
来源:cnblogs  作者:吾师语  时间:2019/6/17 8:56:56  对本文有异议

 

 

应用场景

在查询oracle表时,提示表记录被另一个用户锁住了

有可能是在使用了pl/sql工具后修改某个表记录时,加锁,或者发生故障异常退出,下次登录进去修改不了

 

查询锁

  1. --查看数据库的锁的来源、类型等
  2. select t.object_id, t.session_id, t.locked_mode from v$locked_object ;

 

查询锁与session连接

  1. --查询 锁与session连接 用户名、serial#、时间
    select
    s.username, s.sid, s.serial#, s.logon_time
    from v$locked_object o, v$session s
    where o.session_id = s.sid
    order by s.logon_time ;

查询数据库 锁的session 的sid、serial# 杀死此次连接session

 

杀死连接session

  1. -- 找到锁的连接 session sidserial# 用于杀死session连接
  2. alter system kill session 'sid,serial#' ;
  3. -- 列如 sid=642 serial#=10439
  4. alter system kill session '642,10439' ;

 

 

本人是由于使用了 select * from tableName for update ,后进行修改,然后pl/sql 就异常退出了

下次登录进去后,发现无法修改,报错提示:表记录被另一个用户锁住

用此方法可以实现解锁,本人亲测有效

 

原文链接:http://www.cnblogs.com/tianwyam/p/oracle_lock.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号