• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Oracle中查看引起Session阻塞的2个脚本分享
    POST TIME:2021-10-18 22:04

    用户A执行删除,但是没有提交。

    复制代码 代码如下:

    SQL> delete from test where object_id10;

    已删除8行。

    用户B执行删除或者更新id10的记录,则被阻塞。

    复制代码 代码如下:

    SQL> update test set flag='N' where object_id10;

    遇到这种阻塞,首先需要确定问题。可以使用以下脚本。

    复制代码 代码如下:

    select t2.username,t2.sid,t2.serial#,t2.logon_time
    from v$locked_object t1,v$session t2
    where t1.session_id=t2.sid order by t2.logon_time;

    结果如下:

    复制代码 代码如下:

    USERNAME                              SID    SERIAL# LOGON_TIME
    ------------------------------ ---------- ---------- --------------
    LIHUILIN                               14         87 09-11月-13
    LIHUILIN                              139        655 09-11月-13

    或者使用

    复制代码 代码如下:

    select
    (select username from v$session where sid=a.sid) blocker,
    a.sid,' is blocking ',
    (select username from v$session where sid=b.sid) blockee,
    b.sid
    from v$lock a,v$lock b
    where a.block=1 and b.request>0 and a.id1=b.id1 and a.id2=b.id2;

    结果如下:

    复制代码 代码如下:

    BLOCKER                               SID 'ISBLOCKING'  BLOCKEE                               SID
    ------------------------------ ---------- ------------- ------------------------------ ----------
    LIHUILIN                               14  is blocking  LIHUILIN                              139

    Kill引起阻塞的Session

    复制代码 代码如下:

    select 'alter system kill session '''||sid||','||serial#||''';' cmd from v$session where username='LIHUILIN' and sid=14;

    结果如下:

    复制代码 代码如下:

    CMD
    -----------------------------------------
    alter system kill session '14,87';

    最后执行alter system命令,阻塞解除。

    您可能感兴趣的文章:
    • oracle ORA-00031:session marked for kill(标记要终止的会话)解决方法
    • Oracle中的Connect/session和process的区别及关系介绍
    • ORACLE 如何查询被锁定表及如何解锁释放session
    • 对于oracle对session进行跟踪的分析
    上一篇:oracle ORA-00031:session marked for kill(标记要终止的会话)解决方法
    下一篇:Oracle中查看表空间使用率的SQL脚本分享
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信