2016年12月14日

通过dbms_lock了解oracle内部enqueue机制

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

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

11g新特性之服务器结果缓存(result cache)

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

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

oracle中几种游标使用方式的性能测试

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

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

导航