搜索
首页 电脑/网络 软件 系统软件

Statspack使用存在哪些误区?

Statspack使用存在哪些误区?

全部回答

2017-07-27

47 0

    下面就其中比较容易出问题的几个方面进行一下简单的分析。 快照的采样时间间隔问题 我们知道,Statspack的report实际上也就是对比两个快照 (Snapshot,也就是数据库当前状态 ) 得出的结果。
   一般情况下,专家建议生成Statspack报告的快照时间间隔为15-30分钟。   试想,一个人去医院看病,医生对其测量体温,一般也就是5-10分钟左右就可以了, 为什么是这麽长的时间?因为5-10分钟这段时间基本可以近似的得到你的体温。
  如果时间过短,可能达不到既定的目的,测到的体温会偏低,时间过长,甚至长达几 个小时的话(假设有这种情况),病人可能都昏迷几次了 ;) 。   对生成Statspack报告的快照时间间隔也是这样,如果两个Snap Time时间过短,数据 库的一些主要周期性事务可能还没有运行,信息收集不完全。
  如果间隔过长,数据一样会有偏差。 假设如下的情况:系统一直正常,但是最近几天有用户反映,在A时间段应用程序执行 很慢。  B时间段正常,而 A时间段有一个主要的事务X运行(也是用户使用到的事务)。
   B时间段有另外一个比较消耗资源的事务Y在运行。A和B时间段的跨度比较大。本来你的 快照如果覆盖A时间段内就已经能够的收集到比较准确的数据了,但不巧的是,你的Report 所用的两个Snap ID的时间跨度太长,从而把B时间段内的统计数据也收集了进来。
     Statspack 经过比较,“认为”事务Y是对系统有主要影响(这也会在Report上体现出来),而你,经过分析,认为Y才是罪魁祸首,接下来,你不遗余力的对Y进行了tuning。
  。。。。。 问题出现了!调整了B之后,用户继续报告,A时间段内系统不但没有变快,反而变得更慢,甚至不可忍受。  这种情况是很危险 的,可能会对系统造成不同程序的损害。在比较严格的环境中,这已经构成了一次比较严重的事故。
   或许你也要承认,Statspack的快照的采样时间间隔还真需要重视呢。。。。。。 这是一个Oracle 8。1。7。0。1 版本下的Statspack报告: Snap Id Snap Time Sessions ------- ------------------ -------- Begin Snap: 637 04-Aug-03 11:59:33 25 End Snap: 646 04-Aug-03 16:29:06 25 Elapsed: 269。
    55 (mins) 从中可以看到快照637和快照646之间为269。55 (mins)。这么长的时间跨度,即使数据库在一定时间间隔内有问题,在这里的体现也会有偏差。下面的这个Statspack 报告的时间有点不靠谱了: Snap LengthStart Id End Id Start Time End Time (Minutes) -------- -------- -------------------- -------------------- ----------- 314 1053 11-Dec-03 18:07:13 19-Dec-03 10:53:02 11,085。
    82 11,085。82分钟? 这么长时间内的数据采集分析,怕是绝大部分内容都是不能相信的了。 还要注意的是,我们说的时间间隔,是Begin Snap和End Snap之间的间隔,而不是相邻两个Snap 之间的间隔。
  对于Snap收集的间隔,建议以不要影响性能为准,收集的太过于频繁,会对性能和 存储都造成压力。  对于所谓的15-30分钟,不能墨守成规。具体的环境下应该加以调整。 以偏概全 Statspack从本质上说,是对系统的性能统计数据进行采样,然后进行分析,采样,就会有偏差。
  如何消除偏差?统计学指出差值随样品个数的增加而降低。所以,只凭借一个Report文档就断定数据库的性能问题出在某处,是比较武断的做法(个别情况除外)。  需要DBA创建多个Report,包括不同时间段,对比进行分析,这样才会起到很好的效果。
  在寻求技术支持的时候也最好能够多提交几份Report,便于支持人员迅速帮助解决问题。 有关Timed_statistics参数 虽然这算是一个低级的错误,还是很遗憾,常常看到一些朋友对这个参数的忽略.如果在 Timed_statistics的值设置为False的时候进行收集,可以说,收集到的东西用处不是很大 (我想你不会只想看一些实例名字、初始化参数之类的信息吧)。
    甚至可以说,如果该参数不设置为True,性能分析无从说起。 你成了泄密者? Statspack 报告会汇集到你的数据库系统比较全面的信息,如果不对报告加以"伪装"就随意发布到一些技术论坛上寻求支持,无疑给一些黑客以可乘之机。
  你的数据库名字、实例名字、主机名、数据库版本号、兼容参数、关键的表名字、文件路径等等,尤其是关键的SQL都是黑客们或是恶意入侵者的最好的参考信息。   商业竞争对手也可能正在对你的数据库虎视眈眈。
  

类似问题换一批

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
系统软件
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
软件
系统软件
多媒体软件
办公软件
网络软件
图像处理软件
系统软件
系统软件
举报
举报原因(必选):
取消确定举报