学习动态性能表第13篇--V$OPEN_CURSOR
来源:互联网 发布:鹿鼎记 七个老婆 知乎 编辑:程序博客网 时间:2024/05/16 05:04
本视图列出session打开的所有cursors,很多时候都将被用到,比如:你可以通过它查看各个session打开的cursor数。
当诊断系统资源占用时,它常被用于联接v$sqlarea和v$sql查询出特定SQL(高逻辑或物理I/O)。然后,下一步就是找出源头。在应用环境,基本都是同一类用户登陆到数据库(在V$SQLAREA中拥有相同的PARSING_USER_ID),而通过这个就可以找出它们的不同。V$SQLAREA中的统计项在语句完全执行后被更新(并且从V$SESSION.SQL_HASH_VALUE中消失)。因此,你不能直接找到session除非语句被再次执行。不过如果session的cursor仍然打开着,你可以通过v$open_cursor找出执行这个语句的session。
V$OPEN_CURSOR中的连接列
Column View Joined Column(s)
----------------------------- ---------------------------------------- -----------------------------
HASH_VALUE, ADDRESS V$SQLAREA, V$SQL, V$SQLTEXT HASH_VALUE, ADDRESS
SID V$SESSION SID
示例:
1.找出执行某语句的session:
SELECT hash_value, buffer_gets, disk_reads
FROM V$SQLAREA
WHERE disk_reads > 1000000
ORDER BY buffer_gets DESC;
HASH_VALUE BUFFER_GETS DISK_READS
---------- ----------- ----------
1514306888 177649108 3897402
478652562 63168944 2532721
360282550 14158750 2482065
3 rows selected.
SQL> SELECT sid FROM V$SESSION WHERE sql_hash_value = 1514306888 ;
no rows selected
--直接通过hash_value查找v$session,没有记录
SQL> SELECT sid FROM V$OPEN_CURSOR WHERE hash_Value = 1514306888 ;
SID
-----
1125
233
935
1693
531
5 rows selected.
--通过hash_value在v$open_cursor中查找sid(只有在session的cursor仍然打开的情况下才有可能找到)
2.列出拥有超过400个cursor的sessionID
SQL> SELECT sid, count(0) ct FROM v$open_cursor
GROUP BY sid HAVING COUNT(0) > 400 ORDER BY ct desc;
事实上,v$open_cursor是一个相当常用的视图,特别是web开发应用的时候。仅通过它一个视图你就能分析出当前的连接情况,主要执行语句等。
- 学习动态性能表第13篇--V$OPEN_CURSOR
- 学习动态性能表第12篇--V$DB_OBJECT_CACHE
- 学习动态性能表第15篇--V$ROLLSTAT
- 学习动态性能表第16篇--V$ROWCACHE
- 学习动态性能表第17篇-(1)-V$SEGSTAT
- 学习动态性能表第17篇-(2)-V$SEGMENT_STATISTICS
- 学习动态性能表第18篇--V$SYSTEM_EVENT
- 学习动态性能表第19篇--V$UNDOSTAT
- 学习动态性能表第20篇--V$WAITSTAT
- 学习动态性能表第14篇--V$PARAMETER&V$SYSTEM_PARAMETER
- 学习动态性能表第一篇--v$sysstat
- 学习动态性能表 第一篇--v$sysstat
- 学习动态性能表第二篇-(2)-v$sesstat
- 学习动态性能表第三篇-(1)-v$sql
- 学习动态性能表第三篇-(2)-V$SQL_PLAN
- 学习动态性能表第四篇-(1)-V$SQLTEXT
- 学习动态性能表第四篇-(2)-V$SQLAREA
- 学习动态性能表第五篇--V$SESSION
- .NET反射、事件、委托技术与设计模式
- 学习动态性能表第十一篇-(2)-V$LATCH_CHILDREN
- 服务器应用程序不可用解决方案集
- 学习动态性能表第12篇--V$DB_OBJECT_CACHE
- JSP、Java 获取当前绝对路径
- 学习动态性能表第13篇--V$OPEN_CURSOR
- 学习动态性能表第14篇--V$PARAMETER&V$SYSTEM_PARAMETER
- 代码片段:生成验证码
- 学习动态性能表第15篇--V$ROLLSTAT
- 再议《JavaScript代码优化一例》
- 学习动态性能表第16篇--V$ROWCACHE
- 学习动态性能表第17篇-(1)-V$SEGSTAT
- 安装LoadRunner8.0的恶梦
- 学习动态性能表第17篇-(2)-V$SEGMENT_STATISTICS