如何检查oracle中的一条sql阻塞了一条sql?
死锁的定位方法
通过检查数据库表,我们可以找出哪个语句被死锁,哪个机器是死锁的。
1)使用dba用户执行以下语句。
选择?用户名,锁定等待,状态,机器,程序?从哪里?v$session?在哪里?希德。在
(选择?session_id?从哪里?V$locked_object)如果有输出结果,说明有死锁,可以看看是哪台机器死锁了。字段描述:
username:deadlock语句使用的数据库用户;
Lockwait:死锁的状态,如果有内容,表示死锁。
状态:状态,活动表示死锁。
机器:死锁语句所在的机器。
程序:哪个应用程序是死锁语句的主要来源?
2)使用dba用户执行下面的语句,可以查看死锁的语句。
选择?sql_text?从哪里?v$sql?在哪里?散列值?在?
(选择?sql _哈希_值?从哪里?v$session?在哪里?希德。在
(选择?session_id?从哪里?v$locked_object))