ITPub博客

首页 > 数据库 > Oracle > oracle 表阻塞

oracle 表阻塞

原创 Oracle 作者:gh_95533 时间:2015-05-15 11:51:38 0 删除 编辑
今天早上同事和我说:插入数据比较慢,我就将活动的会话关闭掉后,程序进行下去。后面他重启了应用后,插入的更快了一些。我考虑到可能是阻塞问题。

查询阻塞和被阻塞的sid
select t.sid 阻塞者, t2.sid 被阻塞者, t.type 阻塞类型
  from v$lock t, v$lock t2
 where t.block = '1'
   and t.id1 = t2.id1
   and t.id2 = t2.id2
   and t.sid <> t2.sid;

/*在rac环境中block=2,代表全局冲突,那么就需要需该上面写的block=1,可以改成lmode=6*/


select ses.sid,ses.serial#
  from v$session ses
   where  ses.sid in ('t.sid');
alter system kill session "sid,serial#";

查看其他被阻塞会话和操作语句

select t.sid,t.SERIAL#,t.status,t.osuser,t.MACHINE,t.type,t.logon_time,t1.sql_text
  from v$session t, v$sql t1
 where t.sql_address = t1.address
   and t.sql_hash_value = t1.hash_value
   and t.sid in (select t2.sid
                   from v$lock t3, v$lock t2
                  where t3.block = '1'
                    and t3.id1 = t2.id1
                    and t3.id2 = t2.id2
                    and t3.sid <> t2.sid);

由于同事已经将应用重启,暂时没有在生产环境中测试,遗憾。

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

上一篇: oracle 电话号码
请登录后发表评论 登录
全部评论

注册时间:2014-10-24

  • 博文量
    44
  • 访问量
    105368