12 2016 档案

cache buffer 相关的闩锁等待事件(cache buffers lru chain/cache buffers chain)
摘要:cache buffers lru chain原因高负荷的cache吞吐量,效率差的sql语句(全表扫描,或不正确的index range scans)dbwr写出速度太慢,前台进程花费很多时间持有latch查找free buffer。 cache buffers lru chain保护buffer 阅读全文

posted @ 2016-12-20 22:34 wangxingc 阅读(667) 评论(0) 推荐(0)

oracle解析相关的等待事件(Shared Pool latch/library cache: mutex X/cursor: pin S)
摘要:Shared Pool/Library Cache Latch Contention可能的原因sql语句不能被重用,语句没有使用绑定变量,不合适的应用游标缓存大小,频繁的登入或登出,数据库对象上做过ddl操作,共享池太小等在会话级别V$SESSTATparse time CPUparse time 阅读全文

posted @ 2016-12-20 16:52 wangxingc 阅读(1642) 评论(0) 推荐(0)

通过dbms_lock了解oracle内部enqueue机制
摘要:同时被调用的共享代码如下 锁代码如下 同时开5个sqlplus 窗口,模拟5个并发会话要同时执行函数fun_wxc的场景 开始后5个会话依次完成,结果如下 会话1以共享模式获取资源fun_wxc上的锁,成功 会话2以共享模式获取资源fun_wxc上的锁,因为锁模式是兼容的,所以可以成功获取,并且与会 阅读全文

posted @ 2016-12-14 16:39 wangxingc 阅读(623) 评论(0) 推荐(0)

11g新特性之服务器结果缓存(result cache)
摘要:以前对oracle结果缓存这个特性没注意过,最近项目中有个地方刚好用了一下,效果很不错,这里总结一下。 服务器端结果缓存 服务器端结果缓存实在共享池中的一段内存区域,用于缓存sql或pl/sql函数的执行结果 工作原理 当查询开始执行的时候,首先在结果缓存中区查找看有没有先前的执行结果,如果结果存在 阅读全文

posted @ 2016-12-14 14:40 wangxingc 阅读(924) 评论(0) 推荐(0)

oracle中几种游标使用方式的性能测试
摘要:硬解析(不使用绑定变量) 执行时间大概在33.79s 软解析(使用绑定变量,设置session_cached_cursors=0以禁用游标缓存) 这两种方案性能测试对比,使用tom的runStats_pkg包收集 游标缓存(使用绑定变量,设置session_cached_cursors>0) p2 阅读全文

posted @ 2016-12-14 14:35 wangxingc 阅读(1227) 评论(0) 推荐(0)

11g新特性之自适应游标共享(Adaptive Cursor Sharing)
摘要:自适应游标共享会使包含绑定变量的单个语句拥有多个执行计划,所谓自适应是指执行计划会依据绑定变量的具体值而适配一个最适合该值的执行计划。 隐藏参数_optimizer_adaptive_cursor_sharing=TRUE 开启或关闭此特性。 首先:游标是否可以被ACS使用,首先游标必须是绑定变量敏 阅读全文

posted @ 2016-12-13 22:37 wangxingc 阅读(2816) 评论(0) 推荐(0)

11g新特性之基数反馈(Cardinality Feedback)
摘要:由于表上缺少统计信息,或者统计信息陈旧等情况,会造成优化器生成sql语句执行计是无法评估出一个准确的执行计划,为了纠正这种情况,对于重复执行的sql语句,基数反馈可以根据语句执行时实际的基数信息重新优化执行计划。 该特性受影藏参数 _optimizer_use_feedback 控制。并且系统参数 阅读全文

posted @ 2016-12-13 21:25 wangxingc 阅读(1739) 评论(0) 推荐(0)

导航