发现操作系统的数据库出现死锁如何处理
admin
2023-04-22 05:21:22
0次

where q.address = s.sql_address
and q.hash_value = s.sql_hash_value
and s.paddr = p.addr
and exists (select sid
from v$lock
where block=1 and sid=s.sid);
如果提示no rows select(没有行选中) ,则表示没有业务方面的锁,现在的锁不影响业务系统的正常运行,如果有这些提示,表示已经有锁已经影响业务系统的正常运行,根据下一步操作查询导致死锁语句,告之业务系统维护人员进行解锁;
b) 输入脚本
select nvl(s.username,'Internal') username,
nvl(s.terminal,'None') terminal,
L.sid||','||s.serial# kill,
u1.name||'.'||substr(t1.name,1,20) tab,
decode(L.lmode,1,'No Lock',
2,'Row Share',
3,'Row Exclusive',
4,'Share',
5,'Share Row Exclusive',
6,'Exclusive',null) lmode,
decode(L.request,1,'No Lock',
2,'Row Share',
3,'Row Exclusive',
4,'Share',
5,'Share Row Exclusive',
6,'Exclusive',null) request
from v$lock L,
v$session s,
sys.user$ u1,
sys.obj$ t1
where L.sid = s.sid
and t1.obj# = decode(L.id2,0,L.id1,L.id2)
and u1.user# = t1.owner#
and s.type != 'BACKGROUND'
order by 1,2,5;
如果提示no rows selected,,则表示没有死锁现象,如果有其他提示的,则表示有死锁的现象。
可根据L.sid||'查询SQL语句:
SELECT sql_text FROM v$sqltext a WHERE a.hash_value = (SELECT sql_hash_value FROM v$session b WHEREb.SID ='&sid')
将这些死锁现象交给数据库人员进行处理,
如果需要驻场人员进行进程的KILL,可以使用命令alter system kill session 'kill字段的值'; (kill字段的值即查询出的L.sid||','||s.serial#数值)
3)Kill后,再次查找死锁情况,确认没有死锁的情况,关闭CASE。
Ps:如果删除KILL会话,提示为ora-000031,建议处理方法如下:
1) 使用命令
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=24(sid 为L.sid||')
查询出来的进程ID
2) 在linux下,用root身份运行,使用kill -9 12345
在windows下,orakill sid thread,其中: sid:表示要杀死的进程属于的实例名,thread:是要杀掉的线程号,即第3步查询出的spid。
例:c:>orakill orcl 12345

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...