锁定老帖子 主题:教你一招,一分钟解决讨厌的Oracle死锁
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-10-28
select p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a,v$locked_object b,all_objects c where p.addr=a.paddr and a.process=b.process and c.object_id=b.object_id --第二步:查出死锁session的精确信息【sid 为前面语句的session_id】 SELECT sid, serial#, username, osuser FROM v$session where sid='第一步查询出来的session_id'; --第三步:删除死锁【第一个参数为sid,第二个为serial#】 alter system kill session '第一个参数,第二个参数'; 一步,两步,三步轻松搞定Oracle数据库死锁,没有了Oracle死锁,好舒服啊... 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-11-09
这个...
|
|
返回顶楼 | |
发表时间:2011-11-09
表示、目前不懂~~~!!!
|
|
返回顶楼 | |
发表时间:2011-11-09
这个视乎使用n年,很熟悉了。
|
|
返回顶楼 | |
发表时间:2011-11-09
这个还真没用过、。。。、
|
|
返回顶楼 | |
发表时间:2011-11-09
oracle是不会产生真正的死锁的,死锁只有可能在应用程序中产生
|
|
返回顶楼 | |
发表时间:2011-11-10
1)这是普通锁列表
2)kill session 把链接会话强制结束 跟死锁无关。oracle自动检测死锁,每个死锁在后台都有trace纪录。而且死锁发生后事务就结束,在上边的试视图是看不见的。 lz说得是一般乐观锁的等待状态的检测 |
|
返回顶楼 | |
发表时间:2011-11-10
楼主死锁 不能这样搞。死锁是因为你的应用程序对数据库操作有问题,假如你现在 kill掉了死锁,那么只能解决当时的问题,这个隐藏的死锁还是会一直出现的,劝楼主一定要找到死锁的原因所在,然后解决掉,而不是一味的kill 死锁。。。
|
|
返回顶楼 | |
发表时间:2011-11-10
顶 。楼上
|
|
返回顶楼 | |
发表时间:2011-11-10
chusiyou 写道 楼主死锁 不能这样搞。死锁是因为你的应用程序对数据库操作有问题,假如你现在 kill掉了死锁,那么只能解决当时的问题,这个隐藏的死锁还是会一直出现的,劝楼主一定要找到死锁的原因所在,然后解决掉,而不是一味的kill 死锁。。。
嘿嘿,你说的对,我贴这个帖子只是为了快速的解决数据库的死锁,从而不影响到程序的正常运行,不耽误任工作! |
|
返回顶楼 | |