Oracle中的阻塞锁SQL(阻塞在哪个数据上)
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(阻塞在哪个数据上)的更多相关文章
- 查看Oracle中是否有锁表
转: 查看Oracle中是否有锁表 2018-04-23 17:59 alapha 阅读(19450) 评论(0) 编辑 收藏 一.用dba用户登录,或者将用户赋权为DBA用户 命令: su - or ...
- Oracle中INSTR函数与SQL Server中CHARINDEX函数
Oracle中INSTR函数与SQL Server中CHARINDEX函数 1.ORACLE中的INSTR INSTR函数格式:INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) 说明:返回 ...
- SqlServer和Oracle中一些常用的sql语句9 SQL优化
--SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件 /*Or运算符*/ use db_business go select * from 仓库 where 城市='北京 ...
- Oracle中如何添加和修改包含日期的数据
平时我们在sql sverver中我们添加包含日期的数据时,是直接将日期变成日期格式字符串,但是在Oracle中就不行了, 那么,如何添加包含日期数据 如:在oracle执行insert语句 /** ...
- 在oracle中使用merge into实现更新和插入数据
目录 oracle中使用merge into DUAL表解释 使用场景 用法 单表 多表 oracle中使用merge into DUAL表解释 在Oracle数据库中,dual是Oracle中的一个 ...
- 查看Oracle中是否有锁表的sql
1.查看是否有锁表的sql 代码如下: select 'blocker('||lb.sid||':'||sb.username||')-sql:'|| qb.sql_text blockers, 'w ...
- oracle 中v$sqlarea,v$sql,v$session,gv$session,远程连接等问题
一.分析 (1)使用 least recently used (LRU) algorithm 来管理的,不用的自动踢出,可以使用keep 将需要的语句 保存在 library cache中. 所以应该 ...
- SqlServer和Oracle中一些常用的sql语句10 特殊应用
--482, ORACLE / SQL SERVER --订购数量超过平均值的书籍 WITH Orders_Book AS ( SELECT Book_Name, SUM(Qty) Book_Qty ...
- 在Oracle中利用SQL_TRACE跟踪SQL的执行
当你在执行一条SQL语句非常慢的时候,你是不是想问Oracle怎么执行这条语句的呢? Oracle提供的SQL_TRACE工具可以让你知道你执行的SQL究竟做了什么.执行的过程会被 输出到trace文 ...
随机推荐
- Codevs 2611 观光旅游(floyed最小环)
2611 观光旅游 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 某旅游区里面有N个景点.两个景点之间可能直接有道路相连,用 ...
- C++ 代码性能优化 -- 循环分割提高并行性
对于一个可结合和可交换的合并操作来说,比如整数的加法或乘法, 我们可以通过将一组合并操作分割成 2 个或更多的部分,并在最后合并结果来提高性能. 原理: 普通代码只能利用 CPU 的一个寄存器,分割后 ...
- SVN查看提交日志的命令
Windows下,使用svn客户端查看日志很方便,但是如果在linux下,常规查看日志的命令对于日志记录数比较多的时候,屏幕显示不了,就比较麻烦,后来发现了一个很有用的参数可以限制要查看的记录条数 查 ...
- Executors 构建线程池
Executors包含一系列静态方法,可以用于构建线程池. 返回实现了 ExecutorService 接口的对象: newCachedThreadPool newFixedThreadPool(in ...
- 浏览器检测(BrowserDetect.js)
浏览器检测是在工作中经常用到的,如果只是简单判断当前是什么浏览器的话可以通过window.navigator.useragent这样的js来直接判断就可以了! 但是针对浏览器版本要求比较高的时候,如果 ...
- PHP初学留神(五)·小结
来学习快两个月了,这周末即将回家开始写论文.那么走之前,好好总结一下这两个月的所学所得吧.这段时间,在实验室里做的Web开发主要涉及到了web开发的一些框架内容以及php基础知识.思维导图记录如下. ...
- c#让窗体永在最前 调用windows api 将窗体设为topmost
有时候应用程序需要将一个窗体始终位于屏幕的最前面,即使切换到其它窗体也能看到该窗体,这样的窗体就叫做TopMost窗体. 用C#制作TopMost窗体之前,首先要了解如何声明SetWindowPos函 ...
- 设置Tomcat应用自动部署目录
只需要在Tomcat/conf目录下面新建文件夹Catalina/localhost,然后再localhost文件夹下面新建一个[应用名字.xml]文件即可,有多少个应用就新建多少个xml文件即可,x ...
- linux下定时发送邮件
at命令可以在某个时间运行某个程序,而mail可以以命令行的方式把存于一个文本中的邮件正文发送抄送出去. 具体用法: 1. 把email正文准备好,比如写在email.txt里 2. 然后写一个脚 ...
- pyshp操作shapefile
ESRI的shp文件自1998发布技术文档以来,shp作为GIS文件的基本交换文件广为使用. 工作中使用shp文件的机会比较多,pyshp是Python操作shapefile的包. 先来说shp文件的 ...