`
hanjian861202
  • 浏览: 165001 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Oracle:open_cursors+session_cached_cursors

阅读更多

open_sursor :定义每个Session最大能够打开的游标数量。

 

session_cached_cursors:就是说一个session可以缓存多少个cursor,让后续相同的SQL语句不再打开游标,从而避免软解析的过程来提高性能。(一个游标被请求3次且此游标被关闭时,就会被放入cursor cache中)

 

V$OPEN_CURSOR:每个session打开和命中游标及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的个数。这个值越大,则会消耗的内存越多。
另外检查这个参数是否设置的合理,可以从两个statistic来检查。

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

NAME VALUE
---------------------------------------------------------------- ----------
opened cursors cumulative 16439
opened cursors current 55
session cursor cache hits 8944
session cursor cache count 101
cursor authentications 353

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

NAME VALUE
---------------------------------------------------------------- ----------
parse time cpu 0
parse time elapsed 0
parse count (total) 17211
parse count (hard) 1128
parse count (failures) 2

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

Oracle 9i及以前,该参数缺省是0,10G上缺省是20。

http://hi.baidu.com/wjdwei/blog/item/5b06f4eefa2e4ee6cf1b3e6f.html

分享到:
评论

相关推荐

    oracle参数open_cursors与session_cached_cursors详解.pdf

    Oracle 参数 open_cursors 与 session_cached_cursors 详解 Oracle 数据库中,open_cursors 和 session_cached_cursors 是两个重要的参数,它们对 Oracle 的运行性能产生了直接的影响。本文将详细解释这两个参数的...

    Oracle XE 允许连接的用户数不足

    这些参数包括 session_cached_cursors、session_max_open_files、sessions、license_max_sessions、license_sessions_warning 和 processes。 在解决这个问题之前,我们需要了解这些参数的含义: * session_cached...

    ORACLE技术文档\oracle cursor 游标.doc

    3. `session_cached_cursors`:这个参数指定Oracle服务器为每个会话缓存的预编译游标数量。缓存游标有助于提高性能,因为它减少了编译SQL语句的次数。然而,它也会占用`OPEN_CURSORS`的配额。 `cursor_space_for_...

    如何对AIX、ORACLE、WebLogic和WebSphere进行调优

    修改`open_cursors`和`session_cached_cursors`的参数值 - **命令行调整方法**: - 查看当前设置:`SQL> show parameter cursors` - 调整`open_cursors`的值:`SQL> alter system set open_cursors=1500 scope=...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    Oracle 12c r2优化参数设置.docx

    6. **session_cached_cursors** 和 **open_cursors**: 控制会话缓存的游标数和允许打开的游标数,优化游标管理可以减少磁盘I/O并提升性能。 7. **open_links** 和 **open_links_per_instance**: 设定单个会话可打开...

    linux 手动建oracle数据库

    *.session_cached_cursors=100 *.sga_target=500m *.shared_pool_size=100m *.undo_management='AUTO' *.undo_retention=0 *.undo_tablespace='UNDOTS1' *.user_dump_dest='/home/oracle/admin/bipdb/udump' ``` ...

    Oracle数据库安装及运维工作指南.pdf

    * `SESSION_CACHED_CURSORS`:设置会话缓存游标的数量,以提高数据库的性能。 * `AUDIT_TRAIL`:设置审计跟踪,以确保数据库的安全。 * `RECYCLEBIN`:设置回收站,以避免回收站过大。 * `LOG_ARCHIVE_DEST_1`:设置...

    浅谈ORACLE数据库系统性能优化方案.pdf

    同时,监测session_clilshl_cache_hits以调整session_cached_cursors和open_cursors参数。数据字典缓冲区的命中率同样重要,通过V$cache视图检查并调整分配内存。 除此之外,文章还提到了SQL级别的调整,这是四级...

    Oracle原理,ppt文档。

    当Shared Pool碎片化严重时,可能导致ORA-04031错误,表现为SQL语句无法获取足够的内存空间,此时可能需要调整SQL语句的复用策略、监控open_cursors和session_cached_cursors参数,以及定期进行Shared Pool的清理。...

    Linux_oracle命令大全

    session_cached_cursors integer 0 session_max_open_files integer 10 sessions integer 225 shared_server_sessions integer ``` **作用:** - 显示当前数据库实例中的 session 相关参数设置。 ##### 2. 修改 ...

    Oracle Goldengate性能优化方案

    绑定变量相关的参数,例如cursor_sharing(光标共享)、OPEN_CURSORS(打开光标数)、SESSION_CACHED_CURSORS(会话缓存光标数)也是优化的一部分。 优化器相关的参数,包括optimizer_index_caching(索引缓存优化...

    Windows2008安装oracle11g

    11. 修改其他高级初始化参数,如Audit_trail设为none,Open_cursors设为3000,Sec_case_sensitive_logon设为false,Session_cached_cursors设为200,Undo_retention设为1800秒。 12. 确认设置无误后,点击“下一步”...

    Statspack工具

    Shared Pool Statistics提供了关于共享池的信息,包括共享池的使用情况、游标数量(如SESSION_CACHED_CURSORS、OPEN_CURSORS)等。共享池的管理对于减少SQL语句解析和提高系统响应时间至关重要。 ##### 6. SQL ...

    oracle数据库系统健康检查及优化.pdf

    - 根据监控结果,调整数据库参数如`open_cursors`和`sessiorL cached_cursors`以减少软解析,提高性能。 6. **优化效果**: - 参数调整后,数据库性能得到提升,如导入操作不再卡顿,I/O消耗减少,缓存命中率和硬...

    数据库参数设置技术手册.doc

    16. **SESSION_CACHED_CURSORS**:预分配的游标数,减少打开和关闭游标的开销。 17. **CURSOR_SPACE_FOR_TIME**:控制游标空间的生命周期,以提高性能。 18. **SGA_MAX_SIZE**:设置系统全局区域(SGA)的最大大小...

    oracle游标溢出调优

    - `V$SESSION_CURSOR_CACHED` 显示当前会话的游标使用情况。 通过分析这些视图,可以了解游标的状态、使用频率和内存占用,帮助进行游标管理优化。 总之,Oracle游标调优涉及多个方面,包括内存分配策略、游标复用...

    KDB和Oracle的性能pk小记

    4. Open Cursors:提高并发连接数,增加open_cursors和session_cached_cursors的值。 5. 审计:若无审计需求,将`audit_trail`设为none,减少不必要的资源消耗。 6. 异步I/O:启用异步I/O(filesystemio_options设为...

    数据库性能调整数据库性能调整.ppt

    比如,通过调整OPEN_CURSORS参数限制打开的游标数量,减少SESSION_CACHED_CURSORS以节省内存,或者启用CURSOR_SPACE_FOR_TIME以根据使用频率决定是否保存游标。 此外,监控和使用报告如V$SGASTAT可以帮助识别SGA各...

Global site tag (gtag.js) - Google Analytics