网站大量收购独家精品文档,联系QQ:2885784924

AWR实战分析之readbyothersession.docxVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AWR实战分析之readbyothersession

AWR实战分析之read?by?other?session 下班前做数据库巡检时,发现系统负载有些异常,取了一下当时的AWR报告,显示数据库负载非常大,会话数也稍有增加,如下图所示. ???? ????服务器CPU CORE是16 ,从这来看数据库基本上处于HUNG停的状态,我们通过TOP 5来看一下数据库发生了什么等待事件 ???? ????从TOP 5上看,最主要的问题是在dblink消耗上,但是我们先不管dblink的问题,从平均等待上看,read by other session也是等待比较严重的,要想解决read by other session等待我们必须先搞懂原理才好下手解决,通过baidu和metalink查询,总结如下 ????当多个进程访问同一个数据块,而此数据库不在内存,当第一个进程将它从磁盘读到内存时,其它进程的状态就是read by other session 因为ORACLE内存不允许多个进程同时读到同一个数据块到内存,其它进程只能等待,其实read by other session是在10g新引入的,在10g以前版本,等待为buffer busy wait,10g以后做的细分,所以才有了read by other session。 ????那么从AWR上看我们需要关注的部分是Segments by Buffer Busy Waits,本案例如下图所示 ?? 解决方案: ????首先需要明确一点,发生这种问题并不是说我们的存储设计不合理,解决此类方法最优最有效的方法就是找到对应的SQL进行优化,减少不必要的读取,从而杜绝此类问题,解决步骤如下: 1.查询等待事件详细信息 ??SELECT p1 file#, p2 block#, p3 class# ????FROM v$session_wait WHERE event = read by other session; 2.如果上述查询是热块造成的,进行如下查询具体对像信息,其实这部分可以直接从AWR的Segments by ??Buffer Busy Waits看出来 ??SELECT relative_fno, owner, segment_name, segment_type FROM dba_extents ???WHERE file_id = file ?????AND block BETWEEN block_id AND block_id blocks - 1; 3.查看对应的SQL? SELECT ?HASH_VALUE, SQL_TEXT ??FROM V$SQLTEXT ?WHERE (HASH_VALUE, ADDRESS) IN ???????(SELECT A.HASH_VALUE, A.ADDRESS ??????????FROM V$SQLTEXT A, ???????????????(SELECT DISTINCT A.OWNER, A.SEGMENT_NAME, A.SEGMENT_TYPE ??????????????????FROM DBA_EXTENTS A, ???????????????????????(SELECT DBARFIL, DBABLK ??????????????????????????FROM (SELECT DBARFIL, DBABLK ??????????????????????????????????FROM X$BH ?????????????????????????????????ORDER BY TCH DESC) ?????????????????????????WHERE ROWNUM 11) B ?????????????????WHERE A.RELATIVE_FNO = B.DBARFIL ???????????????????AND A.BLOCK_ID = B.DBABLK ???????????????????AND A.BLOCK_ID A.BLOCKS B.DBABLK) B ?????????WHERE A.SQL_TEXT LIKE % || B.SEGMENT_NAME || % ???????????AND B.SEGMENT_TYPE = TABLE) ?ORDER BY HASH_VALUE, ADDRESS, PIECE; 4.查看对应SQL执行计划是否最优,必要时通过DBMS_SQLTUNE包进行优化,通过sql_profile文件稳固执行计划 5.查看表和索引统计信息是否陈旧,必要时重统收集统计信息 6.如果以上方法仍然无法解决热块问题,那么只能调整pctfree参数,将数据重新导入,打散热块,说实话,这 ??种方法都知道,但是这样做的人

您可能关注的文档

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档