如何查询锁表的SQL

通过下面的语句查询出锁表的SQL:

select l.session_id sid,

s.serial#,

l.locked_mode,

l.oracle_username,

s.user#,

l.os_user_name,

s.machine,

s.terminal,

a.sql_text,

a.action

from v$sqlarea a, v$session s, v$locked_object l

where l.session_id = s.sid

and s.prev_sql_addr = a.address

order by sid, s.serial#;

时间: 2024-10-17 13:50:22

如何查询锁表的SQL的相关文章

怎样查询锁表的SQL

通过以下的语句查询出锁表的SQL: select l.session_id sid, s.serial#, l.locked_mode, l.oracle_username, s.user#, l.os_user_name, s.machine, s.terminal, a.sql_text, a.action from v$sqlarea a, v$session s, v$locked_object l where l.session_id = s.sid and s.prev_sql_ad

SQL Server 查询锁表和接锁表

SQL Server 查询锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) as tableName ,* from sys.dm_tran_locks where resource_type='OBJECT' and OBJECT_NAME(resource_associated_entity_id) is not null SQL Server 解锁表 declare @spid int

Oracle数据库查询锁表

--查询锁表 select       sess.sid,       sess.serial#,       lo.oracle_username,       lo.os_user_name,       ao.object_name,       ao.object_type,    lo.locked_mode,    ao.status    from       v$locked_object lo,       dba_objects     ao,       v$session

db2查询锁表

--查询锁表情况,可以获取哪个表被锁,其中agent_id为哪个DB2进程锁了表(db2inst1用户下) select * from sysibmadm.LOCKS_HELD with ur; --拿到上述的agent_id,查询具体锁表的IP和应用程序 db2 list application | grep 58189 --MASADIC db2jcc_applica 58189 192.168.210.33.59145.1405052017 NGDB 1 --杀掉此进程 db2 "forc

mysql 查询锁表

1)使用情景"判断通过后写入数据库",这个一般是不会有问题的, 但并发访问的时候就不太好搞.因为写入(insert)是需要时间的,假设现在有两个并发请求,(假设第一个访问是最后一个符合条件的写入请求,按照逻辑,第二个请求应该是不合法.不能写入的),在第一请求成功写入之前,第二请求查询到未更新的数据记录,因为记录是未更新的,所以它也是可以通过判断的.最后导致两个请求都写入数据了. 2)解决办法:查询锁表 在我处理完入库前,查都不让你查了,这样就不会判断错误了吧 3)锁表语句 LOCK T

oracle数据库查询锁表与解锁语句

今天要删除一个失效的物化视图的时候:老是删除不掉:经理说是锁表了:然后百度了一下 下面是 查询 锁表 和 如何解锁 --查询现在的锁SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username, l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time FROM v$locked_object l, all_objects o, v$session

SQL:查找被锁的表,以及锁表的SQL语句(重点推荐)

--死锁检测 use master Select * from sysprocesses where blocked<>0 --找到SPID exec sp_lock --根据SPID找到OBJID select object_name(85575343) --根据OBJID找到表名 1.DatabaseName 同于你要监测的数据库名(不过这个好像不起作用,我的电脑上设置无效)2.DatabaseID 同于你要检测的数据库的dbid,可以用 selectdb_id(N'你要监测的库名')得到

Oracle查询锁表和解锁

1.查询是否锁表 SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username, l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time FROM v$locked_object l, all_objects o, v$session s WHERE l.object_id = o.object_id AND l.session_id = s.si

查看锁表进程SQL语句

set pagesize 999 set line180 col ORACLE_USERNAME for a18 col OS_USER_NAME for a18 col OBJECT_NAME  for a24 select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$s