Oracle 查询锁之间的依赖关系
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,注释: 该SQL可查询多会话,非select的DML操作,同时操作A表引起的锁 ..会话之间的关系~ ....下文有该SQL用到的视图/字段的详细注释.. ....若想显示其他字段可以按照自己需求增加
千家信息网最后更新 2025年11月07日Oracle 查询锁之间的依赖关系注释: 该SQL可查询多会话,非select的DML操作,同时操作A表引起的锁 ..会话之间的关系~ ....下文有该SQL用到的视图/字段的详细注释.. ....若想显示其他字段可以按照自己需求增加 ..
祝好~
| SQL: SELECT DISTINCT S.SID , /*会话的唯一标识,通常要对某个会话进行分析前,首先就需要获得该会话的SID。*/ --S.SERIAL# /*会话的序号*/, S.STATE /*WAIT STATE~*/ , S.BLOCKING_SESSION , --SESSION IDENTIFIER OF THE BLOCKING SESSION. THIS COLUMN IS VALID ONLY IF BLOCKING_SESSION_STATUS HAS THE VALUE VALID. S.BLOCKING_SESSION_STATUS STATUS, /*THIS COLUMN PROVIDES DETAILS ON WHETHER THERE IS A BLOCKING SESSION: */ ( CASE WHEN SQL_TEXT IS NULL /*LO.REQUEST = 0 */ THEN '(SID:' || S.SID || ')会话 SQL已跑完' ELSE '(SID:' || S.SID || ')会话 正执行SQL:' || SQL_.SQL_TEXT END ) SQL_TEXT /*执行完的SQL'SQL_TEXT标记SQL已跑完,否则标记SQL'*/ , --SQL_.SQL_FULLTEXT SQL全文本, S.USERNAME /*创建该会话的用户名*/ , O.OWNER || '.' || O.OBJECT_NAME 锁的对象, --V$SESSION.ROW_WAIT_OBJ#若操作完的该字段值=-1,所以关联的V$LOCKED_OBJECT取锁表 LO.REQUEST , -- Lock mode in which the process requests the lock 会话申请的锁的模式 S.EVENT , S.MACHINE /*客户端的机器名。*/ , S.LOGON_TIME /*登陆时间*/ , 'ALTER SYSTEM KILL SESSION ''' || S.SID || ',' || S.SERIAL# || ''';' KILL --若存在锁情况,会用到KILL锁释放~ FROM V$SESSION S LEFT JOIN V$SQL SQL_ ON SQL_.SQL_ID = S.SQL_ID JOIN V$LOCKED_OBJECT L ON L.SESSION_ID = S.SID JOIN ALL_OBJECTS O ON L.OBJECT_ID = O.OBJECT_ID JOIN V$LOCK LO ON (LO.BLOCK != 0 OR LO.REQUEST != 0 ) --V$LOCK.block => A value of either 0 or 1, depending on whether or not the lock in question is the blocker --V$LOCK.REQUEST => Lock mode in which the process requests the lock:下文有值的意义~ ['0 - none'] WHERE LO.SID = L.SESSION_ID AND LO.SID = S.SID ORDER BY S.BLOCKING_SESSION DESC ; |
注释: --视图==官网注释--v$session == http://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_3016.htm#REFRN30223 --V$SQL == http://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_3043.htm#REFRN30246 --V$LOCK == http://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_2027.htm#REFRN30121 --V$LOCKED_OBJECT == http://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_2030.htm#REFRN30125 --ALL_OBJECTS == http://docs.oracle.com/cd/E11882_01/server.112/e40402/statviews_1158.htm#REFRN20146 --显示字段==官网注释: V$SESSION.STATE = Wait state : --WAITING - Session is currently waiting --WAITED UNKNOWN TIME - Duration of the last wait is unknown; this is the value when the parameter TIMED_STATISTICS is set to false --WAITED SHORT TIME - Last wait was less than a hundredth of a second --WAITED KNOWN TIME - Duration of the last wait is specified in the WAIT_TIME column S.BLOCKING_SESSION , --Session identifier of the blocking session. This column is valid only if BLOCKING_SESSION_STATUS has the value VALID.V$SESSION.BLOCKING_SESSION_STATUS = This column provides details on whether there is a blocking session : --VALID - there is a blocking session, and it is identified in the BLOCKING_INSTANCE and BLOCKING_SESSION columns --NO HOLDER - there is no session blocking this session --NOT IN WAIT - this session is not in a wait --UNKNOWN - the blocking session is unknownV$LOCK.REQUEST = Lock mode in which the process requests the lock : --0 - none --1 - null (NULL) --2 - row-S (SS) --3 - row-X (SX) --4 - share (S) --5 - S/Row-X (SSX) --6 - exclusive (X) |
祝好~
注释
字段
下文
标记
视图
之间
查询
全文
同时
客户
对象
序号
情况
意义
时间
机器
标识
模式
用户
用户名
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
陆金所无法登录服务器开小差
传达网络安全工作会议精神
服务器管理海量内存
数据库巡检开发
互联网 天麻科技产业
网络安全教育板报弊端
任子行300311网络安全
数据库架构信息
互联网时代的科技公司
淘宝关键词在线商品数据库
系统服务器维护是什么意思
软件开发的可行研究的方面
梦幻服务器合并规则
软件开发 螺旋模型 案例
网络安全等级保护机制内容
海南省团购数据库有几个
管理数据库的工具
ibm服务器电源灯闪
数字化时代企业网络安全
手机软件开发实训报告小结
直销软件开发管理
GEO数据库有临床数据吗
网络数据库系统的主要技术
光明区口碑好的网络技术代理价钱
16c32g服务器
云服务器图形化管理工具
山西临汾网络安全部门
服务器应急管理接口的技术
大连地区服务器
大话西游锦绣山河服务器