楼主: Kevin__Zhang

[精华] 小案例分享,11G新特性引发的严重性能问题【附AWR截图】

[复制链接]
论坛徽章:
11
SQL极客
日期:2013-12-09 14:13:35SQL数据库编程大师
日期:2013-12-06 13:59:43SQL大赛参与纪念
日期:2013-12-06 14:03:45红孩儿
日期:2012-12-19 11:08:17优秀写手
日期:2013-12-18 09:29:09暖羊羊
日期:2015-04-22 14:41:41
51#
发表于 2012-7-10 17:37 | 只看该作者
非常不错,感谢分享!

使用道具 举报

回复
论坛徽章:
3
生肖徽章2007版:牛
日期:2009-01-11 11:21:562010新春纪念徽章
日期:2010-03-01 11:20:04奥运会纪念徽章:现代五项
日期:2012-10-08 17:25:24
52#
发表于 2012-7-16 17:13 | 只看该作者
救命的东西.我昨天重装了生产库用了11gr2  今天一天都是direct path read.电话都爆掉了

使用道具 举报

回复
论坛徽章:
4
灰彻蛋
日期:2013-01-10 11:04:47马上有房
日期:2014-04-16 17:18:382014年世界杯参赛球队: 洪都拉斯
日期:2014-06-14 16:29:47蓝色妖姬
日期:2015-01-05 16:02:09
53#
发表于 2012-11-29 22:55 | 只看该作者
棉花糖ONE 发表于 2012-1-16 12:17
alter system set event= '10949 trace name context forever, level 1' scope=spfile;
alter system set  ...

ご認識のとうりですね

当タスクの処理でパフォーマンスが落ちる可能性があるため使用しない。
※Standard Edition Oneでは使用できない。

使用道具 举报

回复
论坛徽章:
4
灰彻蛋
日期:2013-01-10 11:04:47马上有房
日期:2014-04-16 17:18:382014年世界杯参赛球队: 洪都拉斯
日期:2014-06-14 16:29:47蓝色妖姬
日期:2015-01-05 16:02:09
54#
发表于 2012-11-29 22:56 | 只看该作者
棉花糖ONE 发表于 2012-1-16 12:17
alter system set event= '10949 trace name context forever, level 1' scope=spfile;
alter system set  ...

ご認識のとうりですね

当タスクの処理でパフォーマンスが落ちる可能性があるため使用しない。
※Standard Edition Oneでは使用できない。

使用道具 举报

回复
论坛徽章:
11
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51奥运会纪念徽章:乒乓球
日期:2012-09-04 13:23:292013年新春福章
日期:2013-02-25 14:51:24问答徽章
日期:2013-09-29 15:28:56
55#
发表于 2013-11-15 11:15 | 只看该作者
学习过。

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2013-12-18 09:29:12技术图书徽章
日期:2014-01-26 14:31:29路虎
日期:2014-01-26 14:35:49
56#
发表于 2013-11-15 12:19 | 只看该作者
不错,学习了

使用道具 举报

回复
论坛徽章:
0
57#
发表于 2014-8-6 15:37 | 只看该作者
本帖最后由 cugshomi 于 2014-8-6 15:38 编辑

我的数据库最近也出现了这个问题,但是我对这个问题为什么出现一直持有怀疑态度,在11g R2的数据库中,数据库通过隐含参数控制什么时候使用direct path read,理论上是超过一定的块大小之后就会触发直接路径读。但是事实上,我数据库中的某张表上建有分区,而且是历史数据,没有过任何的刷新,统计信息也没有刷新,数据库之前访问这张表的历史分区时,使用索引都是partition index range scan,但是突然在某天访问同样的分区,就变成了partition index fast full scan,而且当时出现问题时,存储达到IO极限,为了确定是否是执行计划的问题,立马把sql执行一遍看计划,但是奇怪的是,前端应用服务器抛过来一样的sql ,采用的是index fast full scan ,我自己从sqlplus上抛进去相同的sql ,执行计划是index range scan。所以我基本可以断定,这是一个数据库的bug,不可能在同一时间同一sql,来源不同就采用不同的执行计划,而且在数据量以及统计信息没有发生任何变化的情况下就发生。

使用道具 举报

回复
论坛徽章:
0
58#
发表于 2014-8-6 15:50 | 只看该作者
从直接路径读带来的效果看,我觉得ORACLE的设计工程师并没有考虑OLTP系统上大并发导致的存储级别的IO问题,可能当初设计DIRECT PATH READ时,是基于OLAP这种小并发模式或者EXADATA这种分布式架构的数据库进行设计的,只不过数据库本身并不知道用户是在哪种模式下使用数据库,所以莫名其妙触发了直接路径读从而造成显著的IO性能瓶颈。另外,我基本上可以肯定,数据库判断什么时候使用直接路径读时,绝对不是网友所说的两个隐含参数的值来控制,肯定还有其他我们不知道的参数发挥着作用。不然数据库还不至于傻成一条sql两条执行计划,在一条明显优于另一条时,还采用效果差的那条计划。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表