博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习动态性能表(13)--v$open_cursor
阅读量:6218 次
发布时间:2019-06-21

本文共 1431 字,大约阅读时间需要 4 分钟。

学习动态性能表

13--V$OPEN_CURSOR  2007.6.8

 

  本视图列出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开发应用的时候。仅通过它一个视图你就能分析出当前的连接情况,主要执行语句等。

 

转载地址:http://mhoja.baihongyu.com/

你可能感兴趣的文章
小程序中h5页面onShow实现及跨页面通信方案
查看>>
CryptoJS base64使用方法
查看>>
利用python批量修改MySQL表结构
查看>>
Metasploit 渗透测试手册第三版 第一章 Metasploit快速入门(翻译)
查看>>
021-cdh6.2+kylin2.6.2
查看>>
Linux - 进程
查看>>
从DevOps到ContainerOps
查看>>
版本控制:Git、Github 和 SVN的使用
查看>>
可变参数范例
查看>>
内核必须懂(三): 重编Ubuntu18.04LTS内核4.15.0
查看>>
遍历对象实例的属性和方法
查看>>
React组件
查看>>
论战,交易挖矿模式,能走多远?
查看>>
Vue中axios的封装
查看>>
实现一个简单版本的Vue及源码解析(一)
查看>>
GCD(二) dispatch_barrier
查看>>
Android 复杂的列表视图新写法 MultiType (v3.1.0 修订版)
查看>>
【前端记-1】你不知道的前端缓存
查看>>
AJAX发送请求、同源策略与CORS跨域
查看>>
顶尖AI无法识别简单图案?因为人类已经无法理解它们了
查看>>