博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库异常hang住解决
阅读量:2450 次
发布时间:2019-05-10

本文共 1666 字,大约阅读时间需要 5 分钟。

下午内网测试库同事反应查询更新数据很慢,有时甚至表都打不开,后来通过服务器【linux】的top命令查看了下,cpu和mem占用正常,但wait高达80%多(下面两图显示的就是问题前后观察EM对比的截图,版本是oracle10gR2,EM的效果比oracle11gR2逊色不少哈):
--------------------------------------&gt>
----------------------------&gt>
接着通过sqldevelpdev客户端查询有没有锁等待之类会话事件,果然有,而且是两个session持有TX锁,然后通过下面的sql查询从oracle和linux级别kill掉了相应session,以为风波就此平静,结果过了不到一分钟查询又出现,只不过这次只有一个session持有TX锁,于是就去查找对应的sql_txt,找到后发现是个同事写的存储过程,定时任务,当时正在运行,让其确认下是不是任务执行出问题了,结果一查,是程序问题,造成的死循环,它会批量发起会话,kill一个后接着又锁,循环反复,后来他改了下程序后重新运行,一切恢复通畅.
--查询死锁
select sess.sid, sess.serial#,  lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode 
 from v$locked_object lo, dba_objects ao,v$session sess 
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
--oracle级别kill session
alter system kill session '1627,1';
alter system kill session '1564,64740';
--查询当前连接会话
select s.value,s.sid,a.username,a.MACHINE from v$sesstat S,v$statname N,v$session A
where n.statistic#=s.statistic# and name='session pga memory' and s.sid=a.sid and a.sid=1626
order by s.value;
--查询造成死锁的
sql语句
SELECT   a.SID, a.username, s.sql_text 
FROM v$session a, v$sqltext s
WHERE a.sql_address = s.address 
AND a.sql_hash_value = s.hash_value  and a.SID=1626
ORDER BY a.username, a.SID, s.piece;
--造成锁等待的操作内容
begin 
flt_com.p_line_relation_change(:A0,:B0,:C0,:D0,:E0,:ret_errorcode,:ret_errorname);
end;
--通过sid查找
pid,进而通过系统级别kill
select spid, osuser, s.program from v$session s,v$process p where 
s.paddr=p.addr and s.sid=1605;
--服务器级别kill 
kill -9 spid
--------------------------------over game

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29119536/viewspace-1162950/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29119536/viewspace-1162950/

你可能感兴趣的文章
javascript演变史_JavaScript演变的时间表
查看>>
gt爵士变形步骤_代码广播简介:编码时您可以收听的24/7爵士节奏
查看>>
计算机科学与技术能修电脑吗_电脑和互联网如何工作? -计算机科学基础
查看>>
git拉取请求_如何提交拉取请求
查看>>
cns播客_播客48:Ali Spittel
查看>>
react实战课程_通过一门顶级技术学校创建的由48部分组成的庞大课程来学习React
查看>>
chrome扩展程序_如何实施Chrome扩展程序
查看>>
css创建一个表单在页面上_如何使用CSS Grid创建简单表单
查看>>
如何摆脱NullPointerException
查看>>
小米fortnite_我如何仅用1,001美元(与我12岁的孩子)构建自己的Fortnite DIY游戏平台
查看>>
imba命令_Imba简介:兼容JavaScript的语言,可快速实现DOM更新
查看>>
思想-行为-习惯_如何使用客户的设计思想-以及为什么这很重要
查看>>
2019年华为开发者大会_如何在2019年及以后成为自由开发者的品牌
查看>>
vuex路由通信 vue_如何使用Vue.js,Vuex,Vuetify和Firebase构建SPA:使用Vue路由器
查看>>
旅行 写作 编程_我最喜欢的在旅行或没有互联网时保持编程的方式
查看>>
如何通过使用具有ES6功能JavaScript中的递归来打动面试官
查看>>
电子工程师自学成才pdf_作为一名自学成才的软件工程师,我在第一个月的工作中所学到的知识
查看>>
涉足荒野script_银行家如何自学编程,改变职业并涉足游戏开发
查看>>
javascript游戏_在JavaScript中使用神经网络击败Astroids游戏
查看>>
隐私专家照片模拟还用调整_想了解漂亮隐私吗? 模拟它。
查看>>