open_cursors 参数控制单个session 打开的cursor的数量。
v$open_cursor 是所有session(打开的cursor)的总和。
session_cached_cursors 指一个session可以缓存多少个cursor,让后续相同的SQL语句不再打开游标,从而避免软解析的过程来提高性能,是软软解析的关键所在。
设置pga端的cache list的长度,当session_cached_cursors设置为0时,pga的cache list长度为0,这时候当sga中的cursor关闭的时候它相关的library cache handle的lock位被清0,从v$open_cursor里看不到这个被关闭的cursor,它服从于shared pool的lru机制,当shared pool需要新的buffer空间时,它将会被flush出shared pool。当session_cached_cursors设置为非0值时,pga的cache
list长度为session_cached_cursors值的大小,同时pga cache list将会保留一份拷贝,这时候即使sga中的cursor关闭的时候它相关的library cache handle始终被加了null mode lock,当shared pool空间紧张时library cache handle始终将会被保留在shared pool中,而新的应用访问这个cursor的时候会直接去自己的pga cache list里面搜索。
1 > opened cursors current (当前单个session打开的cursors数量)
2 > parse count (hard) (当前session硬解析次数)
3 > parse count (total) (当前session解析总次数)
4 > session cursor cache count (设置session_cached_cursors参数后,"相同"sql被解析3次后被cache在sessioncursor cache中的数量
5 > session cursor cache hits (软软解析的次数 a "softer" soft parse)
6 > 手工计算一下软解析次数parse count (total) - session cursor cache hits - parse count (hard)= parse count(soft)
如何正确设置session_cached_cursors参数
正确设置open_cursors和'session_cached_cursors' 可以减少sql解析,提高系统性能,那么,如何正确设置'session_cached_cursors'这个参数呢?我们可以把握下面的原则:
1、'session_cached_cursors'数量要小于open_cursors,设置方法:
open_cursors:该参数含义是同一个session同时打开最多在使用的游标数。
在Oracle10.2.0.1.0版本中默认为300;
session_cached_cursors:session_cached_cursors就是说的是一个session可以缓存多少个cursor,让后续相同的SQL语句不再打开游标,从而避免软解析的过程来提高性能。(绑定变量是解决硬解析的问题),软解析同硬解析一样,比较消耗资源.所以这个参数非常重要。
在Oracle10.2.0.1.0版本中默认为20
在oracle 9.2.0.1.0里修改会报下面的错,这是9i版本的一个bug,可先在init文件里改好,再修改spfile文件。
SQL> alter system set session_cached_cursors=20 scope=spfile;
ORA-02096: 此选项的指定初始化参数不可修改
2、要考虑共享池的大小
3、使用下面的sql判断'session_cached_cursors' 的使用情况。如果使用率为100%则增大这个参数值。
4、调整参数后进行测试。
使用session cursor caching功能后,与soft parsing基本做相同的工作,但因为减少检索库高速缓冲区的时间,因此有助于减少library cache 锁存器争用。Session cursorcaching 功能上一个注意事项是此功能只在会话级上有效。因此每次执行 sql 过程中,如果要进行logon和logoff时,虽然使用此项功能但是并不能从中受益。所以应该尽量利用连接池技术,维持会话连接,这样才有助于提升性能。
整理自网络
分享到:
相关推荐
oracle参数open_cursors与session_cached_cursors详解.pdf
sql学习 session_cached_cursors.sql
flutter_cached_pdfview 用于显示iOS和Android的本机PDF视图的软件包,支持从其他资源(例如Path,Asset或Url)打开并对其进行缓存。 支持= [ ]; 从路径打开Pdf(本地文件) 从资产打开PDF 从URl中打开Pdf并将...
4.19 SESSION_CACHED_CURSORS 8 4.20 CURSOR_SPACE_FOR_TIME 8 4.21 SGA_MAX_SIZE 8 4.22 SORT_AREA_RETAINED_SIZE 8 4.23 PGA_AGGREGATE_TARGET 8 4.24 WORKAREA_SIZE_POLICY 9 4.25 SQL_TRACE 9 4.26 TIMED_...
里面有关于常用样式的注释 大部分是我关注的,还有一部分很简单的,我就没有注释
Rails的ActiveRecord自身没有带强大的对象缓存功能,这是AR的一个重大的遗憾。早在2008年开始,我们就借鉴了Java强大的ORM 框架... acts_as_cached(:version => 1, :expires_in => 1.week) end 标签:Secode
优化的缓存图像 颤动库,用于从网络加载图像,调整大小并对其进行缓存以提高内存敏感性。 这将根据父容器的约束调整图像大小并将其存储在缓存中,从而将较小尺寸的图像加载到内存中。 这在很大程度上受库的启发。...
开始使用要使用该软件包,请中将dynamic_cached_fonts添加为。用法按需加载字体您可以按需加载字体,例如-加载页面时@overridevoid initState () { final DynamicCachedFonts dynamicCachedFont = ...
acts_as_list.raracts_as_list.raracts_as_list.raracts_as_list.raracts_as_list.raracts_as_list.raracts_as_list.raracts_as_list.raracts_as_list.raracts_as_list.raracts_as_list.raracts_as_list.raracts_as_...
gem 'activeadmin_settings_cached' 然后执行: $ bundle 创建设置模型: $ rails g settings:install $ bundle exec rake db:migrate 创建您的设置页面: # From generators $ rails g active_admin:settings...
THREAD_CACHE MySQL里面为了提高客户端请求创建连接过程的性能,提供了一个连接池也就是 Thread_Cache池,将空闲的连接线程放在连接池中,而不是立即销毁.这样的好处就是,当又有一个新的请求的时候,mysql不会立即去创建...
缓存的网络图像 一个颤振库,用于显示来自互联网的图像并将它们保存在缓存目录中。 如何使用 CachedNetworkImage 可以直接使用,也可以通过 ImageProvider 使用。 CachedNetworkImage 和 ...
Jekyll包含缓存 一个用于缓存Liquid渲染的Jekyll插件包括 它能做什么 如果您拥有计算上昂贵的包含(如边栏或导航),则Jekyll包含缓存将仅呈现一次包含,然后在使用相同参数调用包含的任何时间重用输出,从而可能显...
(this instanceof a)){return new a} if(typeof a._cached==”undefined”){a._cached=this} } $Cookie.prototype.get=function(e){ var a=[removed].split(/\s*;\s*/); var d=new RegExp(“^(\\s*”+e+”\\s*=)”
c_lock protects accesses to c_flags, c_mapcount, c_cached_epoch, c_uid and c_cached_perm.
Django会话清理对于使用cached_db或db会话引擎的项目,一段时间后django_session表可能会变得很大。 Django提供了“ cleanup”管理命令,用于从此表中删除过期的会话,但是您必须手动运行此命令或设置cron作业。 ...
cached_network_marker 位图生成器,对于Google Map自定义标记很有用。 支持网络映像和缓存。入门该项目是Dart的起点,Dart是一个库模块,其中包含可以在多个Flutter或Dart项目之间轻松共享的代码。 要获得Flutter...
ib_get_cached_gid - Returns a cached GID table entry.
6.2.1.17 SESSION_CACHED_CURSORS 39 6.2.1.18 BACKUP_TAPE_IO_SLAVES 39 6.2.1.19 LOG_ARCHIVE_DEST_1 39 6.2.2 不得修改的初始化参数 40 6.2.2.1 COMPATIBLE 40 6.2.2.2 CURSOR_SHARING 40 6.2.2.3 SGA_TARGET 40 ...
gulp-companeo-concatanduglify-cached 将grunt-companeo-concatanduglify-cached导出到gulp 仅在必要时才对每个文件进行丑化,然后再进行合并 入门 这个插件需要Gulp 如果您以前从未使用过 ,请务必查看《指南》...