ITPub博客

首页 > 应用开发 > IT综合 > cursor_cache_shared(zt)

cursor_cache_shared(zt)

原创 IT综合 作者:aiyuewbl 时间:2007-06-19 11:18:28 0 删除 编辑

session_cached_cursors :一个session可以缓冲多少个cursor。让后续相同的SQL语句不再打开游标,从而避免软解析的过程来提高性能。(绑定变量是解决硬解析的问题),软解析同硬解析一样,比较消耗资源.所以这个参数非常重要。

oracle有一个概念,那就是session cursor cache,中文描述就是有一块内存区域,用来存储关闭了的cursor。当一个cursor关闭之后,oracle会检查这个cursor的 request次数是否超过3次,如果超过了三次,就会放入session cursor cache,这样在下次parse的时候,就可以从session cursor cache中找到这个statement, session cursor cache的管理也是使用LRU。
session_cached_cursors这个参数是控制session cursor cache的大小的。session_cached_cursors定义了session cursor cache中存储的cursor的个数。这个值越大,则会消耗的内存越多。

SQL> show parameter session_

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
session_cached_cursors integer 50
session_max_open_files integer 10
sessions integer 170
shared_server_sessions integer
SQL> select name,value from v$sysstat where name like '%cursor%';

NAME VALUE
---------------------------------------------------------------- ----------
opened cursors cumulative 3718983
opened cursors current 40
session cursor cache hits 3140587
session cursor cache count 1565690
cursor authentications 4308

SQL> select name,value from v$sysstat where name like '%parse%';

NAME VALUE
---------------------------------------------------------------- ----------
parse time cpu 15549
parse time elapsed 54094
parse count (total) 1888758
parse count (hard) 11087
parse count (failures) 914

SQL> select 3140587/( 3140587+1888758) from dual;

3140587/(3140587+1888758)
-------------------------
.624452488

SQL>

比例越高,性能越好。

session cursor cache hits 和parse count(total) 就是总的parse次数中,在session cursor cache中找到的次数,所占比例越高,性能越好。如果比例比较低,并且有剩余内存的话,可以考虑加大该参数。

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8621142/viewspace-919308/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论
  • 博文量
    1
  • 访问量
    3765