使用SQL AWR查询动态会话记录

日期: 2010-05-31 作者:Karen Morton翻译:孙瑞 来源:TechTarget中国 英文

问:当数据库启动时,以下的SQL存储过程对于资源利用率报告来说是非常实用的。那么请问我该添加什么样的SQL语句才能列出出现高水标(HWM)的时间呢?     数据库是Oracle 10.2.0.4;操作系统为AIX 5.3.0.0 5300-09 64位。     col resource_name format a25 head “Resource”col current_utilization format 999,999,999,999 head “Current”col……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

问:当数据库启动时,以下的SQL存储过程对于资源利用率报告来说是非常实用的。那么请问我该添加什么样的SQL语句才能列出出现高水标(HWM)的时间呢?

    数据库是Oracle 10.2.0.4;操作系统为AIX 5.3.0.0 5300-09 64位。

   

col resource_name format a25 head "Resource"col current_utilization format 999,999,999,999 head "Current"col max_utilization format 999,999,999,999 head "HWM"col intl format a15 head "Setting" select resource_name, current_utilization, max_utilization, initial_allocation intlfrom v$resource_limitwhere resource_name in ('processes', 'sessions','enqueue_locks','enqueue_resources',   'ges_procs','ges_ress','ges_locks','ges_cache_ress','ges_reg_msgs',   'ges_big_msgs','ges_rsv_msgs','gcs_resources','dml_locks','max_shared_servers') Resource                           Current              HWM Setting------------------------- ---------------- ---------------- ---------------processes                               21               26        150sessions                                26               34        170enqueue_locks                           12               23       2380enqueue_resources                       12               40        968ges_procs                                0                0          0ges_ress                                 0                0          0ges_locks                                0                0          0ges_cache_ress                           0                0          0ges_reg_msgs                             0                0          0ges_big_msgs                             0                0          0ges_rsv_msgs                             0                0          0 Resource                           Current              HWM Setting------------------------- ---------------- ---------------- ---------------gcs_resources                            0                0          0dml_locks                                0               72        748max_shared_servers                       1                1  UNLIMITED 14 rows selected.

  答:在最大使用率更新的时候,我想不到使用SQL语句获取当时的时间点的方法。由于v$resource_limit输出中会显示许多不同的资源,所以这就需要你从诸多资源中挖掘你想要信息(如果有相关信息的话)。然而,如果你需要资源利用率峰值的具体时间,我建议你使用AWR(自动工作负载存储库)。

  AWR可以在用户和系统级别上获取与数据库工作负载相关的性能数据,其中包括不同空间的性能静态数据、OS静态数据以及动态会话记录(ASH)数据等。ASH可以呈现所有最近发生的会话记录,这些会话被AWR捕获并写入。ASH数据可以按照不同的空间进行显示,如果你比较关心资源利用率峰值,那么就可以在会话级别上进行。你可以在Database Page中选择Performance来使用ASH报表,或运行以下语句:$ORACLE_HOME/rdbms/admin/ashrpt.sql

  当然也许还有其他的方法可以获取你想要的信息,但是我只想到了这一种方法。如果大家还知道有其他的方法,那么希望你们能够共享一下自己的经验。

翻译

孙瑞
孙瑞

相关推荐