数据库死锁查询SQL

Oracle

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

  • SELECT子句:指定了查询要返回的列。这里选择了v session视图中的username(会话的用户名)、serial#(会话的序列号,用于唯一标识一个会话内的操作序列)、lockwait(会话当前是否在等待某个锁)、status(会话的状态)、machine(会话连接的机器名)、program(启动会话的程序名),以及v locked_object视图中的object_id(被锁定的对象ID)和session_id(持有锁的会话ID,注意这里的session_id在vlocked_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。这个条件确保了只有那些当前持有锁的会话的信息才会被包含在查询结果中。
sql 复制代码
--查看进程
SELECT
	s.username,
	l.object_id,
	l.session_id,
	s.serial#,
	s.lockwait,
	s.status,
	s.machine,
	s.program 
FROM
	v$session s,
	v$locked_object l 
WHERE
	s.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锁通常指的是对数据库表或索引等对象的锁。
sql 复制代码
SELECT
	request_session_id spid,
	OBJECT_NAME( resource_associated_entity_id ) tableName 
FROM
	sys.dm_tran_locks 
WHERE
	resource_type = 'OBJECT'
相关推荐
ly76891 小时前
PostgreSQL 备份恢复策略:pg_basebackup、WAL 归档与 PITR 在企业 Java 系统中的落地
java·数据库·postgresql·pitr·pg_basebackup·wal 归档
小羊没烦恼!2 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
注塑机数据采集联网2 小时前
如何解决注塑机数据采集联网对接MES系统数据WiFi传输数据不稳问题
大数据·数据库·物联网·数据挖掘·数据分析
黄俊懿2 小时前
【架构师从入门到进阶】第六章:服务集群优化——第八节:线程数公式
java·服务器·数据库·分布式·性能优化·架构·系统架构
geovindu2 小时前
sql: JSON and XML Data Handling in SQL using mysql 9.0
数据库·sql·mysql·数据库开发
hackchen3 小时前
LangChain 学习第 3 课 - 输出解析器(Output Parser)
数据库·学习·langchain
Mortalbreeze3 小时前
MySQL 基础篇(九):从 B+ 树到索引优化,全面理解 MySQL 索引
数据库·mysql
泡海椒3 小时前
JQuick-SQL SELECT 投影:字段、别名与表达式查询
数据库·sql
猫咪很可爱3 小时前
mysqldump 失败常见场景
数据库·sql·mysql
大明二代3 小时前
从零构建 Mastra RAG MVP:DeepSeek、SiliconFlow 与 PostgreSQL/pgvector 实战
javascript·数据库·人工智能