oracle锁表查询与释放

背景

刚刚接触oracle的PL/SQL开发,单位的虚拟桌面总是存在一些令人崩溃的问题… …
比如pl/sql develop打开后放置一段时间就莫名其妙的与oracle断联了… …
而且这个情况在sp的单元测试中经常发生,然后就出现了一些表被锁住,导致再次测试时test被阻塞 … …

解决的方式就是kill 掉pl/sql develop,然后再次启动pl/sql develop,查看哪些表被锁了,杀掉导致锁表的session。

查看锁表

SELECT DISTINCT t.sid, t.serial#
FROM v$session t
INNER JOIN v$locked_object lo ON lo.session_id = t.sid;

得到导致锁表的session信息:

  1. sid:session的id
  2. serial#:序列号

通过sid和serial可以确定唯一的session

杀session

ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;

注意:以上操作均为SQL语句,在pl/sql develop的SQL窗口内执行;或者在SQLPLUS的命令行窗口执行

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值