• 技术文章 >数据库 >Oracle

    oracle怎么查询游标

    青灯夜游青灯夜游2022-01-25 17:53:09原创69

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

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

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

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

    3ff61359006b34db6083da26a1920cfd.png


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

    select count(*) from v$open_cursor;

    bcdad7a1f604f4d9f6756cf1afb4a076.png


    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;

    a31a35cf2d2806dc15626aff92e0490c.png


    4、修改Oracle最大游标数

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

    alter system set open_cursors=2000 scope=both;

    ed095e06315deadd9bad4a535e09c8be.png


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

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

    e1f8d18799cac661ef4051cf56bd7f01.png


    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;

    f4bf3c906668a9dfcd332a2fd4b3a15f.png


    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;

    27e8fe825977701b44b0dc2a72764bed.png

    推荐教程:《Oracle教程

    以上就是oracle怎么查询游标的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:oracle 查询游标
    上一篇:oracle怎么修改主键 下一篇:oracle怎么查询表的列数据

    相关文章推荐

    • oracle存储过程的参数类型有哪些• 怎样删除oracle用户• oracle中触发器和存储过程是什么• oracle存储过程中赋值给变量的方法有哪些• oracle分页查询原理是什么• oracle怎么实现行列转换

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网