ITPub博客

首页 > Linux操作系统 > Linux操作系统 > blocking_session阻塞

blocking_session阻塞

原创 Linux操作系统 作者:Xuan_Baby 时间:2012-03-14 19:00:36 0 删除 编辑
Verion:Oracle Server 10.2.0.4.8
刚要下班,接到客户电话,说有个的Procedure不能编译通过,一个十分简单的Procedure,已经编译了半个小时了,一直编译中.
处理过程:
select sid,serial#,status,event,blocking_session_status,blocking_session from v$session where sid=2432;
sid,serial#,status,event,blocking_session_status,blocking_session
-----------------------------------------------------------------
2432,5634,valid,library cache lock ,valid,3121
可以看出sid 3121阻塞了2432了,这个时候,我们看下3121在做什么,
select t1.sql_text, LOGON_TIME, SECONDS_IN_WAIT, LAST_CALL_ET
  from v$session t, v$sqltext t1
 where t.sid = 3121
   and t.sql_id = t1.sql_id
 order by t1.piece;
insert into ,...    14-MAR-12               0         2963
可以看出这个sid 3121在执行一条insert 操作,而且这个SQL已经执行了2963s,
赶紧kill这条session吧,
select t1.spid,t.sid,t.serial#,t.type,t.status from v$session t,v$process t1 where t.sid=3121 and t.addr=t1.paddr;
t1.spid,t.sid,t.serial#,t.type,t.status
-----------------------------------------------
176859  3121 5764 ,user,valid 
ps -ef |grep 176859  
oracle 176859    1   0   Feb 14      -  0:04 ora_j000_crmrz ,可以的看出是个Job阻塞其他session,问了下是否可以kill 掉这个Session,客户回答,可以.
alter system kill session '3121,5764 ' immediate;
处理结果:
再检查了下这个3121的session是否杀掉,已经杀掉了,存贮过程也就可以立刻编译了.
至于这条SQL,为什么会阻塞那条存贮过程,没空看脚本,现就这样吧。

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

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2012-03-09

  • 博文量
    12
  • 访问量
    30489