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. ios面试题集锦(一)

    一.前言部分 文中的问题多收集整理自网络,不保证100%准确,还望斟酌采纳. 1.iOS9有哪些新特性? 答案: 1)改进了 Siri 基于日期.位置和相簿名称来搜索个人照片和视频 要求 Siri 来 ...

  2. 详解Windows 7系统中IE8/IE9/IE10三个版本的关系(转)

    今年(2013)年初,微软开放了姗姗来迟的 IE10 for Windows 7 版本下载.至此,Windows 7 平台上可以运行三个 IE 浏览器版本.虽然 Windows 与 IE 经历了诸多版 ...

  3. POJ 1099 Square Ice

    Square Ice Description Square Ice is a two-dimensional arrangement of water molecules H2O, with oxyg ...

  4. Linux 终端中常用的快捷键

    1. 移动光标快捷键 ctrl+f 向前移动一个字符 ctrl+b 向后移动一个字符 alt+f 向前移动一个单词 alt+b 向后移动一个单词 ctrl+a 移动到当前行首 ctrl+e 移动到当前 ...

  5. SSH调试

    <s:date>标签中若是用date数组或Calendar数组,则永远显示数组最后一个数. 试试List.Set.Map也不行. 看来只能够使用单个对象.或者在后台传送String 数组, ...

  6. HTML5的简介

    前言:作为IOS开发工程师,终会接触到网页前端开发,甚至可能会有 用HTML5开发IOS的app客户端的需求.比如现在上架的app就有比如理财类型的app有的就用HTML开发的,从理财类型的app需求 ...

  7. PHP输出

    样例: $a = true;$b = false;$c = 086;$d = 0x86;echo "$a hase value: ".$a; echo "<br/& ...

  8. 解决IE6下Position:fixed问题(只用css)

    在IE6.0及以下版本的浏览器里是不支持position:fixed.而在IE7,IE8,firefox,opera,chrome都可以完美的支持此特性的.解决此问题的要点主要有: 1).容器要有一个 ...

  9. CentOS 6.5升级Python后yum不可用的解决方案

    因开发需要,今天把CentOS 6.5自带的Python2.6.6升级到了Python2.7.3.按照如下步骤进行升级 1.查看当前系统python的版本 python -V 2.下载2.7.3版本的 ...

  10. itoa函数的递归实现(二级指针实现)

    问题提出 <C Programming Language>书中在递归这一节预留了两个使用递归实现的函数,其中itoa函数是用来将一个整数转换为一个字符串.书中已有使用循环实现的版本,但是直 ...