转帖 云和恩墨 http://www.eygle.com/archives/2015/06/sql_version_count.html
SQL多版本控制 - _CURSOR_OBSOLETE_THRESHOLD
链接:http://www.eygle.com/archives/2015/06/sql_version_count.html

在上一期的"恩墨讲堂"微信课中,我提到了一个控制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 非常值得仔细看看。
转帖 云和恩墨 http://www.eygle.com/archives/2015/06/sql_version_count.html的更多相关文章
- 转://云和恩墨的两道Oracle面试题
真题1. 对于一个NUMBER(1)的列,如果查询中的WHERE条件分别是大于3和大于等于4,那么这二者是否等价? 答案:首先对于查询结果而言,二者没有任何区别.从这一点上讲无论是指定大于3还是指定大 ...
- 【云和恩墨】性能优化:Linux环境下合理配置大内存页(HugePage)
原创 2016-09-12 熊军 [云和恩墨]性能优化:Linux环境下合理配置大内存页(HugePage) 熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 PC S ...
- 快速定位oracle故障-恩墨
首先我们要明白一点,所谓的故障,意味着相对来讲比较严重.也就是可能比不同的问题要严重一些,比如锁等待. 要能够快速的定位和解决问题,恢复业务正常:首先我们需要了解Oracle的一些常见的故障有哪些. ...
- Oracle触发bug(cursor: mutex S),造成数据库服务器CPU接近100%
问题现象: 项目反馈系统反应非常缓慢,数据库服务器CPU接近100%! INSERT INTO GSPAudit1712(ID,TypeID,CategoryID,DateTime,UserID,Us ...
- Oracle触发bug(cursor: mutex S),造成数据库服务器CPU接近100%---SQL子游标多版本问题
问题现象: 项目反馈系统反应非常缓慢,数据库服务器CPU接近100%! INSERT INTO GSPAudit1712(ID,TypeID,CategoryID,DateTime,UserID,Us ...
- 【转帖】史上最全PostgreSQL体系结构
史上最全PostgreSQL体系结构 2019年07月16日 18:00:00 Enmotech 阅读数 35 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出 ...
- Oracle sqlplus失去响应解决方法/如何在数据库失去响应时转储状态信息(转)
某云平台出现故障,sqlplus连接Oracle数据库,发现没有响应.数据库版本:12.1.0.2.0 查找.借鉴前人经验,成功处理此问题,参考网址:如何在数据库失去响应时转储状态信息 - Oracl ...
- 跨平台版本迁移之 XTTS 方案操作指南
本文转自 https://blog.csdn.net/Enmotech/article/details/80045576 作者 | 罗贵林: 云和恩墨技术工程师,具有8年以上的 Oracle 数据库工 ...
- 【转载】TX - row lock contention 的一些场景
TX - row lock contention 的一些场景 原创 2016-07-11 易欣 云和恩墨 易欣(Eson) 云和恩墨技术专家 本文整理来自7月7日周四晚云和恩墨大讲堂嘉宾易欣分享的主题 ...
随机推荐
- ethereum/EIPs-607 Hardfork Meta: Spurious Dragon硬分叉相关
eip title author type status created requires 607 Hardfork Meta: Spurious Dragon Alex Beregszaszi Me ...
- mysql对String类型的数字值排序
一.需求:根据月份分组,然后再根据月份排序 效果图 sql如下: SELECT ) number, date_format(created_at,'%c') date FROM ********* W ...
- 数据库连性池性能测试(hikariCP,druid,tomcat-jdbc,dbcp,c3p0)
文章转自 https://www.tuicool.com/articles/qayayiM 摘要: 本文主要是对这hikariCP,druid,tomcat-jdbc,dbcp,c3p0几种连接池的 ...
- Qt+QGis二次开发:创建临时图层并添加要素
开发环境:Win10 + VS2010 + Qt 4.8.6 + QGis 2.14.4 其实本文实现的功能类似于QGis中“添加文本数据图层”的一个简化版,本文不会涉及到对话框的使用,不通过与用户互 ...
- MATLAB——BP神经网络
1.使用误差反向传播(error back propagation )的网络就叫BP神经网络 2.BP网络的特点: 1)网络由多层构成,层与层之间全连接,同一层之间的神经元无连接 . 2)BP网络的传 ...
- 2018-2019-2 20175105王鑫浩 实验二《Java面向对象程序设计》实验报告
一.实验步骤 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装,继承,多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D原则 5.了解设计模式 二.实验内容 (一).单元测试 1 ...
- OpenStack keystone节点搭建(官方2018年4月份文档)
参考文档:https://docs.openstack.org/install-guide/common/conventions.html https://docs.openstack.org/mit ...
- 动手动脑(lesson 6)
一.继承条件下的构造方法调用 运行结果: 二. 答:构造函数的主要作用是初始化环境,子类是继承的父类,也就是说父类中有的子类全都有,而子类中有的父类不一定有,因此子类运行会调用父类构造函数,而父类不可 ...
- kubespray 容器存储设备 -- rook ceph
1./root/kubespray/roles/docker/docker-storage/defaults/main.yml #在用kubespray部署集群是制定docker用什么设备 dock ...
- Zephyr的Time、Timer、sleep
正如Linux下一样,关于时间的系统函数可以分为三类:时间值.睡眠一段时间以及延迟执行. 在Zephyr上对应是什么样子呢?带着这个疑问,去了解一下这些函数. 以及他们与suspend之间的关系? 是 ...