ORACLE判断OPEN_CURSOR参数设置合理性.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
. 理解 V$OPEN_CURSOR, V$SESSION_CACHED_CURSOR 概念: OPEN_CURSOR ,定义每个 Session 最大能够打开的游标数量。 在 init.ora 文件中定义, 可以通过 select * from v$parameter where name = open_cursors 查询。 V$OPEN_CURSOR ,当前 Session 缓存的游标,而不是曾经打开的游标。 V$SESSION_CACHED_CURSOR ,当前 Session 已经关闭并被缓存的游标。 V$OPEN_CURSOR 中显示的当前 Session 游标缓存中游标,如果要精确查询当前 Session 打开的游标总 数,需要从 V$ SESSTAT 中查询。 select a.value, s.username, s.sid, s.serial# 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; Session Cache 的原理: 当设定 SESSION_CACHED_CURSOR 的值之后, 当有 parse 请求的时候, Oracle 会从 library cache 中查 询。如果有超过 3 次同样的 parse 请求, 这个游标将会存入 Session 的游标缓存中。 对于将来同样的查询, 就甚至不要 soft parse ,直接从 Session 的游标缓存中取。 验证: 登录两个 SQL*PLUS 客户端,分别为 Session test 和 Session monitor 。 1. 检查是否参数设置,以及执行的 SQL 语句是否在 V$OPEN_CURSOR 找到。 Session Test: SQL show parameter session_cached_cursors; NAME TYPE VALUE session_cached_cursors integer 0 SQL select sid from v$mystat where rownum=1; SID 9 . . SQL select sid from v$mystat where rownum=1; SID 9 通过如上的执行结果可以知道,当前参数设置 session_cached_cursors 的值为 0 ,不缓存当前 Session 关 闭的游标。当前 Session 的 ID 为 9 。 Session Monitor: SQL SELECT SID, n.NAME para_name, s.VALUE used 2 FROM SYS.v_$statname n, SYS.v_$sesstat s 3 WHERE n.NAME IN (opened cursors current, session cursor cache count) 4 AND s.statistic# = n.statistic# 5 AND SID = 9; SID PARA_NAME USED 9 opened cursors

文档评论(0)

ly22890 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档