加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle處理存儲過程長期無反應

发布时间:2020-12-12 15:05:23 所属栏目:百科 来源:网络整理
导读:在sql窗口中 1.查询当前所有死锁进程的编号 select xidusn,object_id,session_id,locked_mode from v$locked_object; (2).所有进程编号 select username,sid,serial# from v$session; (3)杀掉相关的死锁进程 alter system kill session 'sid,serial#'; (4)查

在sql窗口中
1.查询当前所有死锁进程的编号
select xidusn,object_id,session_id,locked_mode from v$locked_object;
(2).所有进程编号
select username,sid,serial# from v$session;
(3)杀掉相关的死锁进程
alter system kill session 'sid,serial#';
(4)查询死锁oracle进程对应的系统进程
select pro.spid from v$session ses,v$process pro where ses.sid=129 and ses.paddr=pro.addr;
(5)杀掉系统进程
kill -9 pid
总结:
select pro.spid,loc.xidusn,loc.object_id,loc.session_id,loc.locked_mode from v$locked_object loc,v$session ses,v$process pro where ses.sid=loc.session_id and ses.paddr=pro.addr;

kill -9 pid

解决方法如下:

1:查V$DB_OBJECT_CACHE

SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0';

注意:CUX_OE_ORDER_RPT_PKG 为存储过程的名称。

发现 locks=2

2:按对象查出sid的值

select /*+ rule*/ SID from V$ACCESS WHERE object='CUX_OE_ORDER_RPT_PKG';

注意:CUX_OE_ORDER_RPT_PKG 为存储过程的名称。

3:查sid,serial#

SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID';

4:alter system kill session 'sid值,serial#值' immediate;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读