oracle 杀锁表进程 的几种方法

oracle 杀锁表进程 的几种方法

1首先要查看被锁的信息。

查询语句为select * from v$locked_object;

可以查到以下字段可以查看到一些锁表者的操作信息 

SESSION_ID :我们需要在v$session表中查看的 sid 值

ORACLE_USERNAME :锁表者使用的oracle账号  

OS_USER_NAME:锁表这操作系统的用户名称

2、通过上面三点我们可以锁定到部分锁表者。

如果无法确定可以再查看select * from v$session t where sid = '572'这里的sid就是我们上面v$locked_object表中查到的SESSION_ID 可以查到很多相关字段,我们只查看我们需要处理事务的几个字段

sid ,SERIAL# 这两个字段是用来杀进程的字段。

PROGRAM 可以查看到使用者使用的工具

PREV_HASH_VALUE可以通过这个字段在查看出哪个sql语句执行的锁表

3、通过select * from v$sql where hash_value =‘PREV_HASH_VALUE’可以查看到相关锁表语句。

4、确定可以去掉的不影响其他业务的语句可以杀掉的话可以执行

ALTER system KILL session '2281,27935';这里的这两个数字分别是sid ,SERIAL# 。

5、正常情况下到这一步就可以完成相关解锁的操作,如果提示无法操作可以查看

select pro.spid from v$session ses,v$process pro where ses.sid=1335 and ses.paddr=pro.addr; 

这里sid就是上面1的 SESSION_ID 。

查出 spid 后再在linux中查看 相关进程

ps -ef|grep  spid

sid是上面的sid然后可以杀掉这个进程

KILL -9 '刚才查出的SPID'


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值