• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

Statspack之初体验

发布: 2007-7-02 11:08 | 作者: admin | 来源: | 查看: 8次 | 进入软件测试论坛讨论

领测软件测试网 呵呵,今晚之前从来没有做过Statspack(好像有点丢人)。这几天一个数据库实在被折磨得不行了,明明sga_max_size有1.5G,但是实际看整个实例才用了200+M内存,慢得要死,频繁读写硬盘,偏偏硬盘又不是磁盘阵列,IO狂慢,唉,痛苦啊。于是决定花点时间学下实例优化,今天打印了几页Performance Tuning Guide的文档,读了读关于Statspack的内容,在自己的笔记本上做了试验,其实还是很容易的。
首先运行%ORACLE_HOME%\RDBMS\ADMIN PCREATE,期间指定perfstat用户的密码、表空间和临时表空间,一般缺省都无所谓。随后出现一堆成功提示,如果没来得及看也无所谓,可以到你dos窗口(我是Win32平台)的路径下察看.lis文件,那些就是安装跟踪文件。
然后就可以用perfstat/密码来登陆sqlplus了,执行:EXEC STATSPACK.SNAP; 就是一次snapshot了,可以做成定时每隔一段时间运行一次。
察看报告:%ORACLE_HOME%\RDBMS\ADMIN PREPORT  运行后提示已做的所有snapshot的ID,然后根据需要选择本次报告的开始ID和结束ID,随后输入文件名就得到了一份.lst文件(这里文档中将后缀名写成了.lis,应该是错了,不过我看的是9i的文档,运行的是10g的数据库,不知道是不是版本问题),可以用文本工具打开察看。
检查SQL:察看报告时可以看到跟踪的SQL,其中就有hash value,把要更详细察看的语句的hash value记录下来,运行%ORACLE_HOME%\RDBMS\ADMIN PREPSQL时输入,即可如前得到lst文件,记录了SQL语句的更详细分析。
做多了snapshot,可能需要删除一些历史数据,运行ORACLE_HOME%\RDBMS\ADMIN PPURGE就可以了,根据提示选择要删除的ID,而全部删除就ORACLE_HOME%\RDBMS\ADMIN PTRUNC,一路回车即可。
最后要注意snapshot的level,这可以通过EXEC STATSPACK.MODIFY_STATSPACK_PARAMETER(i_snap_level=N)来修改,N可以为0,5,6,7,10,缺省为5。
  0  仅提供一般性能统计
  5  增加了对SQL语句总体分析
  6  增加了SQL计划和使用
  7  增加了分段(Segments)级的统计
  10增加了对闩锁(Latches)的分析
其中文档建议对10要慎重,因为代价较高。
因为只是自己玩的系统,所以也没啥可分析的,只是练习了一下Statspack的使用。结果的分析还要学习学习,已经发现Tom的两本书里都有介绍,不过Expert One-on-One Oracle里更详细。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网