当前位置: 首页 > news >正文

数据库死锁查询SQL

Oracle

从Oracle数据库的动态性能视图(Dynamic Performance Views)中检索当前被锁定的数据库对象的相关信息,以及持有这些锁的会话(session)的详细信息。具体来说,它连接了v$ session和v$locked_object两个视图,并通过会话ID(sid)将它们关联起来。

  • SELECT子句:指定了查询要返回的列。这里选择了v$ session视图中的username(会话的用户名)、serial#(会话的序列号,用于唯一标识一个会话内的操作序列)、lockwait(会话当前是否在等待某个锁)、status(会话的状态)、machine(会话连接的机器名)、program(启动会话的程序名),以及v$ locked_object视图中的object_id(被锁定的对象ID)和session_id(持有锁的会话ID,注意这里的session_id在v$locked_object中实际是与v $session中的sid相对应的)。
  • FROM子句:指定了查询的数据源,即v $session s和v $locked_object l。这里使用了别名s和l来分别引用这两个视图,以便在查询的其余部分中更简洁地引用它们。
  • WHERE子句:提供了连接v $session和v $locked_object两个视图的条件,即s.sid = l.session_id。这个条件确保了只有那些当前持有锁的会话的信息才会被包含在查询结果中。
--查看进程
SELECTs.username,l.object_id,l.session_id,s.serial#,s.lockwait,s.status,s.machine,s.program 
FROMv$session s,v$locked_object l 
WHEREs.sid = l.session_id;--杀掉进程
alter system kill session '70,46413';

SQL Server

从SQL Server的动态管理视图(DMV)sys.dm_tran_locks中检索当前被锁定的数据库对象的信息。具体来说,它检索了当前所有持有对象级别锁(resource_type = ‘OBJECT’)的会话(或进程)的会话ID(spid,尽管这里使用的是request_session_id,它实际上是会话ID的准确表示)以及这些锁关联到的数据库对象的名称(tableName)。

  • SELECT 子句:指定了查询要返回的列。这里,它选择了request_session_id(通常用作会话ID的别名spid,尽管这不是官方或标准的别名)和通过OBJECT_NAME(resource_associated_entity_id)函数获取的表名(别名为tableName)。OBJECT_NAME函数根据对象的ID(这里是resource_associated_entity_id)返回对象的名称。
  • FROM sys.dm_tran_locks:指定了查询的数据源,即sys.dm_tran_locks动态管理视图。这个视图提供了当前SQL Server实例中所有活动锁的信息,包括锁的类型、锁定的资源、持有锁的会话等。
  • WHERE resource_type = ‘OBJECT’:这是一个过滤条件,用于限制查询结果只包含那些资源类型为OBJECT的锁。在SQL Server中,OBJECT锁通常指的是对数据库表或索引等对象的锁。
SELECTrequest_session_id spid,OBJECT_NAME( resource_associated_entity_id ) tableName 
FROMsys.dm_tran_locks 
WHEREresource_type = 'OBJECT'

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • javascript中数组遍历的所有方法
  • 大厂嵌入式数字信号处理器(DSP)面试题及参考答案
  • 注册安全分析报告:熊猫频道
  • QT定时器QObiect/QTimer
  • Elasticsearch:无状态世界中的数据安全
  • 上海大学《2022年836+915自动控制原理真题及答案》 (完整版)
  • 关于Qt在子线程中使用通讯时发生无法接收数据的情况
  • 【数据库实战】1_Oracle_命中关联人或黑名单或反洗钱客户
  • MapSet之相关概念
  • Windows bat脚本学习九(srec_cat)
  • openGauss 之索引回表
  • 【Netty】netty中都是用了哪些设计模式
  • 端口安全老化细节
  • 软件测试之UI自动化测试
  • 被审稿人批得体无完肤?参考文献这样引用就对了!
  • axios 和 cookie 的那些事
  • Debian下无root权限使用Python访问Oracle
  • JavaScript函数式编程(一)
  • JS题目及答案整理
  • Material Design
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • PHP的Ev教程三(Periodic watcher)
  • React-flux杂记
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • TypeScript实现数据结构(一)栈,队列,链表
  • Unix命令
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 工作中总结前端开发流程--vue项目
  • 每天10道Java面试题,跟我走,offer有!
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 数据仓库的几种建模方法
  • 微信公众号开发小记——5.python微信红包
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​什么是bug?bug的源头在哪里?
  • #laravel 通过手动安装依赖PHPExcel#
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (七)c52学习之旅-中断
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)创业的注意事项
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • *算法训练(leetcode)第四十天 | 647. 回文子串、516. 最长回文子序列
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net 按比例显示图片的缩略图
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .Net实现SCrypt Hash加密