登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞哥的技术博客

世上无难事,只怕有心人!

 
 
 

日志

 
 
 
 

Statspack初步学和用第三篇 分析初步 - 无名扫把 - CSDN博客  

2009-05-25 16:52:35|  分类: Oracle |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 Statspack初步学和用第三篇 分析初步收藏

含前5等待事件,两次采样间cpu占用,内存分配等信息。Oracle各版本等待事件并不完全相同,数量依版本升高而增加,关于各项等待事情的说明,三思之前的"学习动态性能表"系列文章中有过介绍,有心的朋友可以去搜搜看。

  其报告过长,限于篇幅,此处不再罗列及一一对照介绍,大家可以自己线下生成一份做对照理解。由此可以看到,Statspack报告确实非常全面。

SQL> select s.text,s.line from user_source s where type='PACKAGE BODY' and NAME='STATSPACK';

  哇好长的代码,找到snap,发现有两个,procedure和function,主要的操作都在function中进行。通过查看我们发现,statspack.snap主要就是复制v$tables中的记录。然后我们再来分析一下spreport.sql的奥妙,o原来是调用sprepins.sql啊,再打开看看,哇嘞,更长更复杂,脚本套脚本。

  大致我们可以确认其是根据存储在stats$tables中的数据做分析,并进行一些运算,将结果输出。值的一提的是,sp*.sql中不少写法还是很有意思,执行逻辑运行巧妙,各种函数运用灵活,值的花时间深入研究体会呀:)

  这仅仅只是statspack自身的操作,至于根据其报告辅助分析,并做适当调优,那涉及到的东西就更多了。在我看来其报告可以分为两类来看,一类是优化业务逻辑,重点是根据9-14中罗列的各条SQL语句进行语句级调优,这可能跟你的业务逻辑关联紧密。另一类则是根据其它各项的报告,进行oracle体系结构上的调优,比如增加减少SGA、PGA缓存池大小啦,调整回滚段之类oracle自身设置达到优化目的。俺原本认为statspack不过是个辅助分析的小玩易儿,花个二三天功夫还不就轻松掌握了,但是分析了其生成原理之后,俺恍然意识到原来的认识太肤浅,初始配置下的statspack不过是个模板,如果你希望更强大的功能,或者想针对某方面进行调优,那你完全可以对其脚本做改造,打造满足你自己需求的statspack。但要实现这点就不只是说说这么简单了,u not only very clearly in statspack的存储、分析、运算了若指掌,but 要对oracle的各项机制及相互间的关联洞若观火(黑黑,什么都不懂也是种幸福啊,起码不用操心啦,有啥用啥呗)。

同样,如果你真的到了这个境界,那我想statspack对你而言又回到了原点,仅仅只是参考。佛教里有“见山是山,见水是水”,“见山不是山,见水不是山”,“见山还是山,见水还是水”三重境界,如此比对,一一深合其意啊。




引文来源  Statspack初步学和用第三篇 分析初步 - 无名扫把 - CSDN博客
  评论这张
 
阅读(268)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018