分享7个实用脚本--Oracle数据库游标数总结

发布时间:2025-05-25 03:08:44 作者:益华网络 来源:undefined 浏览量(1) 点赞(1)
摘要:今天偷个懒,总结一下Oracle游标数的一些常用sql,下面一起来看看吧~ 1. 查看系统游标数(最大游标数) selectvaluefromv$parameterwherename=open_cursors;showparameteropen_cursors; 2. 查看当前打开的

今天偷个懒,总结一下Oracle游标数的一些常用sql,下面一起来看看吧~

1. 查看系统游标数(最大游标数)

select value from v$parameter where name = open_cursors; show parameter open_cursors; 

2. 查看当前打开的游标数目

select count(*) from v$open_cursor; 

3. 查看游标使用情况

select o.sid, osuser, machine,o.sql_id,o.sql_text,o.cursor_type, count(*) num_curs  from v$open_cursor o, v$session s  where user_name = GLOGOWNER  and o.sid = s.sid  group by o.sid, osuser, machine,o.sql_id,o.sql_text,o.cursor_type  order by num_curs desc;

4. 修改Oracle最大游标数

根据游标占用情况分析访问数据库的程序在资源释放上是否正常,如果程序释放资源没有问题,则加大游标数。

alter system set open_cursors=2000 scope=both; 

5. 各用户的打开游标总数

SELECT A.USER_NAME, COUNT(*) FROM V$OPEN_CURSOR A GROUP BY A.USER_NAME;

6. 查找数据库各用户各个终端的缓存游标数

SELECT AA.USERNAME, AA.MACHINE, SUM(AA.VALUE)  FROM (SELECT A.VALUE, S.MACHINE, S.USERNAME  FROM V$SESSTAT A, V$STATNAME B, V$SESSION S  WHERE A.STATISTIC# = B.STATISTIC#  AND S.SID = A.SID  AND B.NAME = session cursor cache count) AA  GROUP BY AA.USERNAME, AA.MACHINE  ORDER BY AA.USERNAME, AA.MACHINE;

7. 查找数据库各用户各个终端的打开游标数

SELECT AA.USERNAME, AA.MACHINE, SUM(AA.VALUE)  FROM (SELECT A.VALUE, S.MACHINE, S.USERNAME  FROM V$SESSTAT A, V$STATNAME B, V$SESSION S  WHERE A.STATISTIC# = B.STATISTIC#  AND S.SID = A.SID  AND B.NAME = opened cursors current) AA  GROUP BY AA.USERNAME, AA.MACHINE  ORDER BY AA.USERNAME, AA.MACHINE;

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!