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

网友投稿 546 2023-05-13

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

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

今天偷个懒,总结一下***游标数的一些常用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. 修改***最大游标数

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

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;

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何避免内存溢出?—— Redis内存使用和管理知识总结
下一篇:解码Redis最易被忽视的CPU和内存占用高问题
相关文章