最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle如何用内置脚本查堵塞

来源:懂视网 责编:小采 时间:2020-11-09 10:31:06
文档

Oracle如何用内置脚本查堵塞

Oracle如何用内置脚本查堵塞:在诊断关于锁的问题的时候,要查到持有者,被堵塞者。往往是很麻烦,如果你没有积累的脚本,靠手工查要查很多表,如v$lock,v$pro 在诊断关于锁的问题的时候,要查到持有者,被堵塞者。往往是很麻烦,如果你没有积累的脚本,靠手工查要查很多表,如v$l
推荐度:
导读Oracle如何用内置脚本查堵塞:在诊断关于锁的问题的时候,要查到持有者,被堵塞者。往往是很麻烦,如果你没有积累的脚本,靠手工查要查很多表,如v$lock,v$pro 在诊断关于锁的问题的时候,要查到持有者,被堵塞者。往往是很麻烦,如果你没有积累的脚本,靠手工查要查很多表,如v$l

在诊断关于锁的问题的时候,要查到持有者,被堵塞者。往往是很麻烦,如果你没有积累的脚本,靠手工查要查很多表,如v$lock,v$pro

在诊断关于锁的问题的时候,要查到持有者,,被堵塞者。往往是很麻烦,如果你没有积累的脚本,靠手工查要查很多表,如v$lock,v$process p, v$session s, v$latchholder等。现在有个简单的方法,使用Oracle的内置脚本生成两个视图dba_waiters和dba_blockers来查堵塞。执行内置脚本要在SYS中执行,如下:

C:\Documents and Settings\guogang>sqlplus / as sysdba;

SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 1月 24 08:26:42 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> @?/rdbms/admin/catblock.sql
视图已创建。

同义词已创建。

.........................

实验:

模拟DML锁

session1:

select * from test for update;


session2:

select * from test for update;

session3:

SQL> select * from dba_waiters;

WAITING_SESSION HOLDING_SESSION LOCK_TYPE MODE_HELD MODE_REQUESTED LOCK_ID1 LOCK_ID2
--------------- --------------- ------------------------- ---------------------- ----------------------- -------------------- --------------- ---------
142 150 Transaction Exclusive Exclusive 131099 2550

SQL> select * from dba_blockers;

HOLDING_SESSION
---------------
150

可以清晰的看到锁的持有者是session 150,等待者是142 。

模拟DDL锁

session1:


select * from obj$ for update


session2:


create index ind_t_id on test(object_id);


session3:


SQL> select * from dba_waiters;

WAITING_SESSION HOLDING_SESSION LOCK_TYPE MODE_HELD MODE_REQUESTED LOCK_ID1 LOCK_ID2
--------------- --------------- -------------------------- ---------------------------------------- ---------------------------------------- ---------- ----------
150 145 Transaction Exclusive Exclusive 1310729 1391

SQL> select * from dba_blockers;

HOLDING_SESSION
---------------
145

可以清晰的看到锁的持有者是session 145,等待者是150 。

linux

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

Oracle如何用内置脚本查堵塞

Oracle如何用内置脚本查堵塞:在诊断关于锁的问题的时候,要查到持有者,被堵塞者。往往是很麻烦,如果你没有积累的脚本,靠手工查要查很多表,如v$lock,v$pro 在诊断关于锁的问题的时候,要查到持有者,被堵塞者。往往是很麻烦,如果你没有积累的脚本,靠手工查要查很多表,如v$l
推荐度:
标签: 查询 查看 数据
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top