SELECT (   '节点 '

          || a.inst_id

          || ' session '

          || a.sid

          || ','

          || a_s.serial#

          || ' 阻塞了 节点 '

          || b.inst_id

          || ' session '

          || b.sid

          || ','

          || b_s.serial#)

            blockinfo,

         a.inst_id,

         a_s.sid,

         a_s.schemaname,

         a_s.module,

         a_s.status,

         a.TYPE lock_type,

         a.id1,

         a.id2,

         DECODE (a.lmode,

                 0, 'none',

                 1, NULL,

                 2, 'row-S (SS)',

                 3, 'row-X (SX)',

                 4, 'share (S)',

                 5, 'S/Row-X (SSX)',

                 6, 'exclusive (X)')

            lock_mode,

         '后为被阻塞信息' remark_flag,

         b.inst_id blocked_inst_id,

         b_s.sid blocked_sid,

         b.TYPE blocked_lock_type,

         DECODE (b.request,

                 0, 'none',

                 1, NULL,

                 2, 'row-S (SS)',

                 3, 'row-X (SX)',

                 4, 'share (S)',

                 5, 'S/Row-X (SSX)',

                 6, 'exclusive (X)')

            blocked_lock_request,

         b_s.schemaname blocked_schemaname,

         b_s.module blocked_module,

         b_s.status blocked_status,

         b_s.sql_id blocked_sql_id,

         obj.owner blocked_owner,

         obj.object_name blocked_object_name,

         obj.object_type blocked_object_type,

         CASE

            WHEN b_s.row_wait_obj# <> -1

            THEN

               DBMS_ROWID.rowid_create (1,

                                        obj.data_object_id,

                                        b_s.row_wait_file#,

                                        b_s.row_wait_block#,

                                        b_s.row_wait_row#)

            ELSE

               '-1'

         END

            blocked_rowid,  --被阻塞数据的rowid

         DECODE (obj.object_type,

                 'TABLE',    'select * from '

                          || obj.owner

                          || '.'

                          || obj.object_name

                          || ' where rowid='''

                          || DBMS_ROWID.rowid_create (1,

                                                      obj.data_object_id,

                                                      b_s.row_wait_file#,

                                                      b_s.row_wait_block#,

                                                      b_s.row_wait_row#)

                          || '''',

                 NULL)

            blocked_data_querysql

    FROM gv$lock a,

         gv$lock b,

         gv$session a_s,

         gv$session b_s,

         dba_objects obj

   WHERE     a.id1 = b.id1

         AND a.id2 = b.id2

         AND a.block > 0    --阻塞了其他人

         AND b.request > 0

         AND (   (a.inst_id = b.inst_id AND a.sid <> b.sid)

              OR (a.inst_id <> b.inst_id))

         AND a.sid = a_s.sid

         AND a.inst_id = a_s.inst_id

         AND b.sid = b_s.sid

         AND b.inst_id = b_s.inst_id

         AND b_s.row_wait_obj# = obj.object_id(+)

ORDER BY a.inst_id, a.sid;

Oracle中的阻塞锁SQL(阻塞在哪个数据上)的更多相关文章

  1. 查看Oracle中是否有锁表

    转: 查看Oracle中是否有锁表 2018-04-23 17:59 alapha 阅读(19450) 评论(0) 编辑 收藏 一.用dba用户登录,或者将用户赋权为DBA用户 命令: su - or ...

  2. Oracle中INSTR函数与SQL Server中CHARINDEX函数

    Oracle中INSTR函数与SQL Server中CHARINDEX函数 1.ORACLE中的INSTR INSTR函数格式:INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) 说明:返回 ...

  3. SqlServer和Oracle中一些常用的sql语句9 SQL优化

    --SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件 /*Or运算符*/ use db_business go select * from 仓库 where 城市='北京 ...

  4. Oracle中如何添加和修改包含日期的数据

    平时我们在sql sverver中我们添加包含日期的数据时,是直接将日期变成日期格式字符串,但是在Oracle中就不行了, 那么,如何添加包含日期数据 如:在oracle执行insert语句 /** ...

  5. 在oracle中使用merge into实现更新和插入数据

    目录 oracle中使用merge into DUAL表解释 使用场景 用法 单表 多表 oracle中使用merge into DUAL表解释 在Oracle数据库中,dual是Oracle中的一个 ...

  6. 查看Oracle中是否有锁表的sql

    1.查看是否有锁表的sql 代码如下: select 'blocker('||lb.sid||':'||sb.username||')-sql:'|| qb.sql_text blockers, 'w ...

  7. oracle 中v$sqlarea,v$sql,v$session,gv$session,远程连接等问题

    一.分析 (1)使用 least recently used (LRU) algorithm 来管理的,不用的自动踢出,可以使用keep 将需要的语句 保存在 library cache中. 所以应该 ...

  8. SqlServer和Oracle中一些常用的sql语句10 特殊应用

    --482, ORACLE / SQL SERVER --订购数量超过平均值的书籍 WITH Orders_Book AS ( SELECT Book_Name, SUM(Qty) Book_Qty ...

  9. 在Oracle中利用SQL_TRACE跟踪SQL的执行

    当你在执行一条SQL语句非常慢的时候,你是不是想问Oracle怎么执行这条语句的呢? Oracle提供的SQL_TRACE工具可以让你知道你执行的SQL究竟做了什么.执行的过程会被 输出到trace文 ...

随机推荐

  1. ASP.NET 使用C#代码设置页面元素中的样式或属性

    在HTML元素的属性中加上runat ="server"和ID="MyTag"即可在后台代码中通过设置MyTag.Style的值来控制样式. 例如:在前端页面加 ...

  2. wiegand/韦根

    韦根 参考: 1.wiegand/韦根驱动

  3. QtSQL学习笔记(4)- 使用SQL Model类

    除了QSqlQuery,Qt提供了3个高级类用于访问数据库.这些类是QSqlQueryModel.QSqlTableModel和QSqlRelationalTableModel. 这些类是由QAbst ...

  4. 鸟哥私房菜笔记:Iptables:数据包过滤软件

    数据包进入流程:规则顺序的重要性 iptables利用的是数据包过滤机制,所以它会分析数据包的包头数据.根据包头数据与定义的规则来决定该数据包是否可以进入主机或者是被丢弃.也就是说,根据数据包的分析资 ...

  5. 【仿携程JQuery日期价格表】

    今天比较闲所以就花点时间又写了点东西. 相信这种价格表大家不会陌生 现在我就模仿它做一个简单版本的.效果如下 首先需要两个时间控件,我这里用的是HTML5里面的时间控件,这个没限制喜欢用什么就用什么 ...

  6. 巧妙使用checkbox制作纯css动态导航栏

    前提:很多时候.我们的网页都需要一个垂直的导航栏.可以分类.有分类.自然就有展开.关闭的功能.你还在使用jquery操作dom来制作吗?那你就out了! 方案:使用checkbox 的 checked ...

  7. [Python][flask][flask-login]关于flask-login中各种API使用实例

    本篇博文跟上一篇[Python][flask][flask-wtf]关于flask-wtf中API使用实例教程有莫大的关系. 简介:Flask-Login 为 Flask 提供了用户会话管理.它处理了 ...

  8. 最近在无线USB网卡投入比较大

    第一次(40): 乐光N18网卡 17 5米USB延长线 10 DVD2 3 运费10 第二次(30): 8187L主板13 5DB/6DB全向天线 5 外壳FREE 运费12 第三次(20): 8D ...

  9. linux安装mysql出现Could NOT find Curses (missing CURSES_LIBRARY CURSES_INCLUDE_PATH),提示解决方法

    [root@localhost mysql-5.5.11]# cmake . 出现以下错误提示: -- Could NOT find Curses (missing:  CURSES_LIBRARY ...

  10. android实现视频图片取缩略图

    取缩略图不等同于缩放图片. 缩放图片是保持不失真的情况下缩放处理,并进行平滑处理. 缩略图则不然,允许失真,目的只是取出图片的轮廓. 保存Bitmap图片 private void saveBitma ...