Oracle-lock

本文详细阐述了数据库中事务的共享锁与排它锁机制,包括它们的定义和区别。重点介绍了如何通过查询V$LOCKED_OBJECT和V$SESSIONS视图来查找死锁的进程,并提供了具体的SQL命令来终止这些进程。此外,文章还提供了在无法通过SQL命令解决死锁情况下,使用ps-ef | grep spid来找到并杀死Oracle进程的方法。

FROM:http://database.51cto.com/art/200510/9964.htm

 

共享锁:事务对数据库资源进行共享访问——另一事务也可对此资源进行访问或获得相同共享锁。

排它锁:事务设置排它锁后,该事务单独获得此资源,另一事务不能在此事务提交之前获得相同对象的共享锁或排它锁。

 

.....

 

 

1)查找死锁的进程:

SELECT o.SESSION_ID,s.SERIAL#

FROM

V$LOCKED_OBJECT o,

V$SESSION S

WHERE l.SESSION_ID=S.SID;

 


alter system kill session 'sid,serial#'; (其中sid=l.session_id)

3)如果还不能解决,
select pro.spid

from

v$session ses,

v$process pro

where

ses.sid=XX

and

ses.paddr=pro.addr;
其中sid用死锁的sid替换。
exit
ps -ef|grep spid
其中spid是这个进程的进程号,kill掉这个Oracle进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值