如何获取Oracle系统性能统计

日期: 2010-05-11 来源:TechTarget中国

  以下的文章主要介绍的是获得Oracle系统性能统计的实际操作步骤,有很多的人都问过我关于Oracle的性能相关问题。例如什么是性能慢?如何正确的量化性能统计?问题我不一一列出了,下面的文字大部分来自Oracle 英文文档。

  如果有效地诊断性能问题,则进行性能统计必不可少。Oracle能够产生基于整个系统表现的、或者基于会话的、或者基于单个SQL语句的统计数据。Oracle也可以在段和服务追踪和获取统计数据的累积值。

  当我们关注某个方面的性能问题时,我们只需将该范围的统计数据拿来,并作出判断。一种典型方法是取得采样期间统计数据的“首”“尾”,判断期间的差异,并据此得出新能问题所在的判断。

  统计数据,通常是自系统启动后到当前的累计统计数据,可以通过诸如V$SESSTAT V$SYSSTAT等动态视图获得。因此,任何一次数据库系统的启动关闭操作都会导致这些统计数据的重置。

  Oracle系统性能统计:Oracle 10g/11g 包含了如下类型的统计数据:

  AWR的统计数据,关于系统运行的累计统计;

  度量值,关于累计统计差异性描述的变化值;

  抽样数据,关于激活会话的统计数据。

  Oracle在10g版本中提供了自动的工作量资料档案库功能,简称AWR,就是自动进行性能取样,数据涵盖了除会话级别统计以外的大多统计。这个过程在一段时期内重复进行,每次取样结果称为一张AWR快照。每张快照之间的差异描述了系统性能状态的改变,因此,这种快照代表了系统在取样期间内的改变。

  除此之外,Oracle还自动收集另一种类型的统计,称之为:度量值。所谓度量,就是某个累计统计数据,在取样期间内改变的程度、比率。“度量”能涵盖各种性能方面,包括响应时间、事务处理吞吐量、数据库调用数量、磁盘读写数量等。度量值可以通过对V$ 类型的动态视图中获得,v$视图中的数据是一个相当小的时间间隔内的平均值,一般而言是60秒的期间。

  Oracle系统性能统计:通过v$视图可以获得近期的度量值,远期的度量值则可以通过AWR快照获得。

  还有一种Oracle收集的统计数据,称之为抽样数据。Oracle10g中新增了抽样数据的取样机制,称之为自动的会话历史记录 ( ASH )。抽样数据由ASH执行完成。ASH抽样所有活跃会话当前状态,抽样数据被收集到内存中,通过V$视图访问。在AWR进行工作载荷取样时,这类数据也被自动搜集。

  Oracle10g提供了一种诊断系统性能问题的有力方法:对比法。首先,我们需要建立统计基准线。这个基准线可以采用系统在高效、稳定运行期间的统计数据集合。依据这个基准线集合,在系统出现性能出现问题的情况下,进行对比,发现问题所在。这种方法有效地解决了当我们面对数以千计的数据库性能统计数据而一筹莫展的问题,避免我们陷入统计数据的海洋。

  统计基准线的获得通过AWR实现。通过AWR,我们指定度量基准线和保存AWR快照的时间范围或一种类似指定,并把这段期间的统计数据作为统计基准线。显然,这个时间范围指定应慎重选择。最合理的度量基线,应该是在系统正常载荷状态下,具有良好性能状态时,获得的累计统计。这样,在系统遭遇性能障碍时,通过好坏比较得到问题根源。

  这里所说的所有统计数据——实时性能数据,或者AWR历史快照数据,我们都可以通过Oracle企业管理器(OEM)查看。不仅如此,企业管理器也能用来捕捉与AWR统计数据相关的操作系统和网络统计的数据。

  以上的相关内容就是对获得Oracle系统性能统计的介绍,望你能有所收获。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐