死锁处理

Oracle死锁处理全攻略
本文详细介绍Oracle数据库中死锁的检测与解决方法,包括如何使用SQL查询发现死锁、定位死锁会话,以及通过数据库内部命令或操作系统层面终止死锁进程的步骤。

1、发现死锁

select count(*) from v$locked_object;

如果有输出即表示有死锁

select session_id from v$locked_object ;

查询到死锁的sid(session_id与sid是相同的)

2、通过oracle查杀会话的方式解决死锁

SYS@test11g> select  SID,SERIAL# from v$session where sid = 68 or sid = 256;

3、杀掉死锁会话

SYS@test11g> alter system kill session'68,1063';

##################################################################################

在实际生产中存在很多情况在数据库里查杀session的方式不能解决死锁问题导致死锁还在所以需要使用

在系统里查找spid查杀进程的方式处理死锁

#################################################################################

4、通过pid查找到系统所对应的进程号即spid

select a.sid,a.paddr,b.addr,b.spid from v$session a,v$process b where a.paddr=b.addr and sid = 232;

此处sid为上一步查找到的session_id

此时查找到了spid

5、退出oracle进入系统查找该进程

ps -ef|grep (spid)

此时spid为查到的spid  查看确认此进程

杀死            kill -9 spid

处理结束

转载于:https://www.cnblogs.com/Wardenking/p/10286582.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值