查询发生死锁的select语句
select sql_text from v$sql t1
inner join v$session t2
on t1.hash_value = t2.SQL_HASH_VALUE
inner join v$locked_object t3
on t2.SID = t3.session_id
是否有死锁
select username,lockwait,status,machine,program from v$session where sid in
(select session_id from v$locked_object)
1.Finding the Sessions Holding the Lock
Find the (ID1, ID2, type) for sessions waiting for a lock (LMODE=0).
Find the session holding the lock (REQUEST=0) for that ID1, ID2, type.
SELECT lpad(' ',DECODE(request,0,0,1))||sid sess, id1, id2, lmode, request, type
FROM V$LOCK
WHERE id1 IN (SELECT id1 FROM V$LOCK WHERE lmode = 0)
ORDER BY id1,request
SID ID1 ID2 LMODE REQUEST TY
------ ---------- ---------- ---------- ---------- --
1237 196705 200493 6 0 TX <- Lock Holder
1256 196705 200493 0 6 TX <- Lock Waiter
1176 196705 200493 0 6 TX <- Lock Waiter
938 589854 201352 6 0 TX <- Lock Holder
1634 589854 201352 0 6 TX <- Lock Waiter
2.Finding the Statements being Executed by These Sessions
SELECT sid,sql_address, sql_hash_value
FROM V$SESSION
WHERE SID IN (1237,1256,1176,938,1634);
SID SQL_HASH_VALUE
----- --------------
938 2078523611 <-Holder
1176 1646972797 <-Waiter
1237 3735785744 <-Holder
1256 1141994875 <-Waiter
1634 2417993520 <-Waiter
3.Finding the Text for These SQL Statements
SELECT * FROM v$sqltext t
WHERE t.ADDRESS=''--代入上一步查到的sql_address
AND t.HASH_VALUE=''--代入上一步查到的sql_hash_value
ORDER BY t.ADDRESS,t.HASH_VALUE,t.COMMAND_TYPE,t.PIECE;
分享到:
相关推荐
Oracle 死锁及连接数监测 Oracle 死锁监测是指检测 Oracle 数据库中的死锁情况,以避免数据库性能下降和数据不一致的问题。死锁监测可以通过查询系统视图 `V$LOCKED_OBJECT` 来实现,该视图提供了关于当前数据库...
有效关闭Oracle死锁进程,和释放状态为killed的session
java oracle 死锁 解锁 进程 SQL
BLOG_Oracle_lhr_Oracle死锁的分类及其模拟.pdfBLOG_Oracle_lhr_Oracle死锁的分类及其模拟.pdf
oracle死锁故障分析和诊断解决~~~~~~~~~
oracle死锁问题查询代码,仅供参考,有问题大家一起交流
oracle死锁表后处理,oracle死锁表后处理
编译的存储过程的时候,程序死住,等待一会出现ora-04021错误解决办法。文档中有查询思索的语句,以及杀掉死锁进程的方法。
查询ORACLE死锁以及解锁语句查询ORACLE死锁以及解锁语句
oracle死锁问题一直困扰着我们,下面就教您一个oracle死锁的检查方法,如果您之前遇到过oracle死锁方面的问题,不妨一看。
查看 oracle 死锁程序 本程序可轻松查看oracle数据库是否有表锁死
提供了处理oracle死锁的详细oracle死锁语句,包括对死锁的定位,查找死锁的进程,kill掉死锁的进程,
kill system session(解决oracle死锁)
Oracle 死锁处理 Oracle 死锁处理 Oracle 死锁处理 Oracle 死锁处理 Oracle 死锁处理
处理Oracle死锁的过程
oracle 死锁时候 ,杀进程方法
oracle死锁解决办法。可查看死锁语句、表、用户,包含解决办法。
在任何数据库中发生死锁都是不愉快的,即使是在一个特殊的情况下发生也是如此,它们会减小应用程序的接受程度(ACCEPTANCE),因此避免并正确解释死锁是非常重要的。
一、数据库死锁的现象 程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错。 二、死锁的原理 当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提 交,另一条对于这一列...