11gR2游标共享新特性带来的一些问题以及_cursor_features_enabled、_cursor_obsolete_threshold和106001 event...
- 避免进程去扫描长长的子游标列表child cursor list以找到一个合适的子游标child cursor
- 废弃的游标将在一定时间内被age out,其占用的内存可以被重新利用
实际在版本10g中就引入了该Cursor Obsolescence游标废弃特性,当时child cursor 的总数阀值是1024, 但是这个阀值在11g中被移除了,这导致出现一个父游标下大量child cursor即high version count的发生;由此引发了一系列的版本11.2.0.3之前的cursor sharing 性能问题,主要症状是版本11.2.0.1和11.2.0.2上出现大量的Cursor: Mutex S 和 library cache lock等待事件。 增强补丁Enhancement patch《Bug 10187168 - Enhancement to obsolete parent cursors if VERSION_COUNT exceeds a threshold》就该问题引入了新的隐藏参数_cursor_obsolete_threshold(Number of cursors per parent before obsoletion.),该"_cursor_obsolete_threshold"参数用以指定子游标总数阀值,若一个父游标的child cursor count<=>version count高于"_cursor_obsolete_threshold",则触发Cursor Obsolescence游标废弃特性。 注意版本11.2.0.3中默认就有"_cursor_obsolete_threshold"了,而且默认值为100。 对于版本11.1.0.7、11.2.0.1和11.2.0.2则都有该Bug 10187168的bug backport存在,从2011年5月开始就有相关针对的one-off backport补丁存在。 但是这些one-off backport补丁不使用"_cursor_obsolete_threshold"参数。在版本11.1.0.7、11.2.0.1和11.2.0.2上需要设置合适的"_cursor_features_enabled"(默认值为2)参数,并设置必要的106001 event,该event的level值即是child cursor count的阀值,必须设置该106001事件后该特性才生效。 但是请注意 "_cursor_features_enabled"参数需要重启实例方能生效。而"_cursor_obsolete_threshold"参数和106001 event则可以在线启用、禁用。 对于不同的版本而言,一般推荐打上最新的PSU补丁,并根据补丁的README提示或者咨询Oracle Support获得关于该版本上Cursor Obsolescence问题的信息: 针对不同版本设置 "_cursor_features_enabled"+106001 event的方法:
版本11.1.0.7SQL> alter system set "_cursor_features_enabled"=18 scope=spfile;System altered.SQL> alter system set event='106001 trace name context forever,level 1024' scope=spfile;System altered.并重启实例版本11.2.0.1SQL> alter system set "_cursor_features_enabled"=34 scope=spfile;System altered.SQL> alter system set event='106001 trace name context forever,level 1024' scope=spfile;System altered.版本11.2.0.2SQL> alter system set "_cursor_features_enabled"=1026 scope=spfile;System altered.SQL> alter system set event='106001 trace name context forever,level 1024' scope=spfile;System altered.11gR2 Experience -> If using cursor_sharing = “FORCE” or “SIMILAR” 1) ORA-600 errors as workload increases [kkspsc0: basehd] or [kglLockOwnersListAppend-ovf] - applied patches to address 2) AWR showing -> cursor: mutex S and library cache lock 1. Download and apply the 11.2.0.2.3PSU Patch 11724916 2. Enable event 106001 to address Bug 10187168. To enable the fix "_cursor_features_enabled" needs to be set 3) Oracle 11.2.0.2.2 PSU (Patch Set Update) includes new parameters that you can tweak based on workload characteristics. Even more fixes have been added Note: 10411618 - Enhancement to add different "Mutex" wait schemes [ID 10411618.8] 4) 11.2.0.3 Has many Mutex enhancement’s106001 level The level is used to specify the maximum number of child cursors that a parent can have before we obsolete the parent cursor and create a new parent. Doing the above can help reduce mutex waits, memory consumption and other side effects seen when we see many child cursors for a given parent.
题外话是11.2.0.3中的Mutex增强了很多,不要再跟着初学者论坛的那帮家伙一起愚蠢地大喊:"虽然版本升级 8i=>9i=>10g=>11g=>12c,但是我觉得oracle里面基础、核心的东西一直都没变了"这种神话了, 你一直浮游在Oracle的表面怎么可能知道Kernel到底有多大的变化?!!
转载于:https://www.cnblogs.com/macleanoracle/archive/2013/03/19/2968375.html
11gR2游标共享新特性带来的一些问题以及_cursor_features_enabled、_cursor_obsolete_threshold和106001 event...相关推荐
- 盘点 Oracle 11g 中新特性带来的10大性能影响
盘点 Oracle 11g 中新特性带来的10大性能影响 原创 2017-08-02 盖国强 数据和云 Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先 ...
- Servlet 3.0 新特性概述
Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布.该版本在前一版本(Servlet 2.5)的基础上提供了若 ...
- Oracle 19c 新特性:ADG的自动DML重定向增强读写分离
在前面的文章<Oracle 19c 十大新特性一览>中,我们曾经提到 Oracle 19c的一个重要增强,就是ADG的自动DML转发: 这个新特性的功能是:将偶然发送到ADG上的DML操作 ...
- 入微:探究文档中找不到的12c并行索引扫描新特性
杨廷琨,网名 yangtingkun 云和恩墨技术总监,Oracle ACE Director,ACOUG 核心专家 Oracle在12c之前对于索引范围扫描是没有办法并行执行的,从12.1开始,Or ...
- oracle dataguard详解,Oracle 19c 新特性详解:DataGuard 中ADG的自动DML重定向
Oracle 19c 新特性详解:DataGuard 中ADG的自动DML重定向 在前面的文章<Oracle 19c 十大新特性一览>中,我们曾经提到 Oracle 19c的一个重要增强, ...
- 今晚直播,你该了解的MySQL 8.0 SQL优化新特性
周四见 公开课系列 We,知数堂 习惯用实力介绍自己-我们只分享干货 重磅福利来袭 2018年8月9日,20:30-22:00 周四见 不见不散! 郑 松 华 知数堂<SQL优化>课程 ...
- 和Oracle差距越来越小,你该了解的MySQL 8.0 SQL优化新特性
周四见 公开课系列 We,知数堂 习惯用实力介绍自己-我们只分享干货 重磅福利来袭 2018年8月9日,20:30-22:00 周四见 不见不散! 郑 松 华 知数堂<SQL优化>课程 ...
- Oracle 19c 新特性:ADG的自动DML重定向增强读写分离--ADG_REDIRECT_DML
Oracle 19c 新特性:ADG的自动DML重定向增强读写分离--ADG_REDIRECT_DML Oracle 19c 新特性之一,adg的自动 dml 重定向.就是在 ADG 环境下,连接到 ...
- Java11新特性(一)——JDK11新特性概述
序言 关于JDK11,自从去年也就是2018年9月份 Oracle 对外公布--JDK11正式发布以来,博主就跃跃欲试,但是由于项目周期时间紧,一直未果,今年,也就是2019年2月底系统正式上线,博主 ...
最新文章
- Android 自定义 —— View lineTo 与 rLineTo 的区别
- Ionic中自定义公共模块以及在自定义模块中使用ionic内置模块
- matlab神经网络43个案例分析_10个经典案例,带你一起分析:高层结构设计难点...
- CUDA: OpenCV requires enabled ‘cudev‘ module from ‘opencv_contrib
- CentOS7 Ambari2.7.4编译
- Windows Server上用命令来起停IIS站点
- 深信服SCSA认证过程记录
- wps打印错误未定义书签怎么解决_word文档打印时候目录出现错:未定义书签,在wps里怎么修改?...
- 微信小程序漂亮按钮(中间矩形两端半圆形)
- 【Java系列】:异常-Exception
- 佐切的第四天学习分享
- 亚马逊云科技:云厂商做自研芯片的两个「选择」
- C# 打印小票 POS
- XXE漏洞介绍及利用
- 标准网页两侧浮动广告代码 支持FF及IE
- 使用eNSP搭建一个局域网
- error : declaration does not declare anything [-fpermissive]
- FDTD快速入门之Lumerical脚本语言Pickup(一)序言
- 微信小程序的视图容器—swiper
- 详情小三角css,CSS实现小三角
热门文章
- 大规模数据处理的演化历程(2003-2018)
- 求两个有序数组的中位数-算法导论
- 在 ASP.NET 中使用 HTTPHandler 实现 Front Controller
- Spring transaction事务之roll back回滚: rollback-for
- 从前到后的CAN总线(二)
- NLP(二十八)多标签文本分类
- Android10.0 日志系统分析(一)-logd、logcat 指令说明、分类和属性-[Android取经之路]
- List集合中的对象根据属性排序
- mysql客户端连接hive_连接Hive的客户端界面工具–SQuirrel SQL Client
- Android9.0 新特性