查杀被锁资源的进程(LINUX操作系统下)

问题描述:出现错误号为'ORA-04021 等待锁定对象..' 的错误信息

 

0.以dba身份登录数据库

 

一句等于下面三句SQL:

SELECT t.NAME,t2.SID,t2.SERIAL# FROM V$DB_OBJECT_CACHE t

JOIN v$access t1 ON t.NAME = t1.OBJECT

JOIN v$session t2 ON t1.SID = t2.SID

WHERE t.owner='CWT3_TAXI1' AND LOCKS!='0'

AND t.NAME = 'TAXI_TRANSACTION';

 

注:黑体下划线为变量


 

1.查找被锁的资源

SELECT * FROM V$DB_OBJECT_CACHE WHERE owner='CWT3_TAXI1' AND LOCKS!='0';

 

2.根据资源名查找此资源对应的SID

SELECT * FROM v$access WHERE owner='CWT3_TAXI1' AND OBJECT ='TAXI_TRANSACTION';

 

3.根据SID查找t.SERIAL#

SELECT t.SID,t.SERIAL# FROM v$session t WHERE t.SID = '496';

 

4.杀掉此SESSION

ALTER SYSTEM KILL SESSION '496,26791';(496:SID ; 26791:SERIAL#)

 

说明:如果在执行第4步的时候,出现"ORA-00031 ..." 错误,说明你在数据库中杀不了此进程

1.查找LINUX系统中,此资源对应的进程号

SELECT spid, osuser, s.program FROM v$session s,v$process p WHERE s.paddr=p.addr AND s.sid = '496';

 

2.在LINUX理把它kill掉

查看进程:ps   -ef|more

杀掉进程:kill   -9  进程号

 

5.OK,大功告成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值