Oracle的SQL多版本控制 - VERSION_COUNT

在上一期的“恩墨讲堂”微信课中,我提到了一个控制SQL多版本的参数,有很多朋友讨论,这个参数是:_CURSOR_OBSOLETE_THRESHOLD 。

为什么会有这个参数呢?请看下面这个示意图,这是一个真实的生产环境,第一个SQL显示,其Version Count已经达到了26万个,这不仅仅占用了内存,而且会使得SQL解析延迟:

对于版本过多的SQL,一次软解析甚至不如重新执行一次硬解析来的高效,所以Oracle引入了一系列的控制手段来处理这些特殊的游标。

在11.2.0.3之后,这些解决方案最终形成了一个隐含参数,也就是 _CURSOR_OBSOLETE_THRESHOLD,其作用是当SQL版本超过这个参数设定后,直接舍弃这个游标,重新解析,重头开始。在这一版本之前,通过补丁和参数("_cursor_features_enabled" 和 event 106001)可以达成类似的效果。

Oracle的很多细节控制都是体贴入微的,且用且珍惜吧

关于SQL的多版本,MOS文章 296377.1 非常值得仔细看看。

点击原文链接报名,加入“恩墨讲堂”微信群。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2015-06-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

使用12c PDB整合环境的总结 (r10笔记第66天)

从开始使用12c PDB整合环境以来,发现确实不错,原来11g中整合的难题在这里得到了解决。 目前存在多套的测试环境,之前整合了一批,基本是采用整合schema...

34816
来自专栏杨建荣的学习笔记

linux kernel引发的oracle问题及解决

最近测试环境的连接数老是不够用,session/process 都相应的从5000提到了8000,但还是不够,而且还是不断有新环境需要增加。最后根据评估,ses...

3696
来自专栏数据和云

SQL Server for Linux 下一版本的公共预览

当微软宣布即将发布SQL Server for Linux版本的时候,有些人觉得很兴奋,有些人觉得然并卵,但是既然Gartner在2016年的数据库管理系统魔...

2849
来自专栏杨建荣的学习笔记

Orabbix定制监控Oracle的简单配置(r6笔记第26天)

Orabbix是在zabbix的基础上提供的一套插件,能够提供对Oracle的监控功能真是术业有专攻,在Oracle层面zabbix希望也能够走得更远,所以对于...

2834
来自专栏凉城

代刷网显示最新加入分站QQ代码

2954
来自专栏北京马哥教育

为MySQL入门者整理的MySQL常用命令

作者:o0DarkNessYY0o 来源:http://blog.csdn.net/o0darknessyy0o/article/details/5208097...

2979
来自专栏云计算教程系列

让你的PostgreSQL更安全

PostgreSQL是自由的对象-关系型数据库服务器,在灵活的BSD风格许可证下发行。它在其他开放源代码数据库系统和专有系统之外,为用户又提供了一种选择。 我们...

1486
来自专栏杨建荣的学习笔记

DBA和开发同事的一些代沟(五) (r7笔记第92天)

陆陆续续写了四篇和开发同事的代沟,从最开始的吐槽到后面的例行总结,整个过程也是总结经验,看似很小的问题对于DBA来说就是莫大的改进,或者在开发严重越不过去的坎儿...

35610
来自专栏Jackson0714

【微信开发】01.数据库授权和连接

39612
来自专栏杨建荣的学习笔记

启用ODM极速调优IO (r2笔记66天)

在平时的工作中,数据库所处的文件系统是vxfs的话,可以考虑启用veritas的odm特性。 ODM(Oracle Dsk Manager)是在oracle 9...

3238

扫码关注云+社区