首页 > 数据库 > Oracle > 正文

oracle怎么查询游标

青灯夜游
发布: 2022-03-16 16:13:17
原创
10060 人浏览过

查询方法:1、用“select count(*) from v$open_cursor”;2、用“SELECT A.USER_NAME,COUNT(*) FROM V$OPEN_CURSOR A GROUP BY A.USER_NAME”。

oracle怎么查询游标

本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。

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

select value from v$parameter where name = 'open_cursors';show parameter open_cursors;
登录后复制

oracle怎么查询游标


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

select count(*) from v$open_cursor;
登录后复制

oracle怎么查询游标


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;
登录后复制

oracle怎么查询游标


4、修改Oracle最大游标数

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

alter system set open_cursors=2000 scope=both;
登录后复制

oracle怎么查询游标


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

SELECT A.USER_NAME, COUNT(*) FROM V$OPEN_CURSOR A GROUP BY A.USER_NAME;
登录后复制

oracle怎么查询游标


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;
登录后复制

oracle怎么查询游标


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;
登录后复制

oracle怎么查询游标

推荐教程:《Oracle教程

以上是oracle怎么查询游标的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!