首页 > 代码库 > Oracle性能图表工具:awrcrt.sql

Oracle性能图表工具:awrcrt.sql

什么是AWRCRT?

Awrcrt的全称是

AUTOMATIC WORKLOAD REPOSITORY CHART

是一个oracle性能趋势图表报告工具,它是一个sql脚本:awrct.sql  ,仅仅只有一个sql脚本。

Awrcrt report是用图表来展示oracle数据库的性能趋势情况。Awrcrt是基于oracle workload repository中的数据生成,也就是和常用的awrrpt一样的数据源。Awrcrt是Oracle ACS部门的王文杰开发并维护的,免费提供给Oracle用户使用的一个工具。

awrcrt和awrrpt有什么不同?

Awrrpt是显示指定的较短一段时间(一般是1个小时到几个小时)的详细性能统计数据。如下图:2小时的间隔

技术分享

Awrcrt是显示指定的较长一段时间(一般是3~7天)所有的snap区间的关键性能指标的趋势。如下图:从10月19日到10月25日

技术分享

awrcrt的优点是什么?

当用户汇报性能问题,数据库管理员在手工选择起始awr的起始snap id的时候,可能会忽略掉值得关注的时间段。

例如短暂的性能问题发生到晚上9点,但管理员认为一般的高峰期在下午6点以前。采集了白天awr报告后,却没有发现问题。

通过awrcrt,可以覆盖所有最近的时间段,充分的了解数据库的性能状态,什么时候是低谷,什么时候是高峰,什么时候发生过突发性问题?通过awrct获得关键时间的数据后,可以再具体针对那段时间出awrrpt报告分析性能问题,从到达从宏观到微观的性能分析。

技术分享

awrcrt是一个基于html5和javascript的轻量级工具,无须安装,直接运行sql产生html报告。在没有安装Em的情况,是一个非常好的了解数据库性能趋势的轻量级工具。图形化的展示,非常方便编写性能报告。

Awrcrt能显示一些什么样的指标?

 如下所示,awrcrt目前可以显示超过30种关键数据库性能指标

  • CPU Utilization
  • Time Model : DB TIME  DB CPU SQL EXEC TIME
  • Active session history
  • SQL execution count
  • Average SQL execution time
  • Session logic reads
  • Physical writes and reads
  • User commits
  • Connections
  • Redo Size
  • Global cache transformation
  • GCS/GES messages
  • Global Cache Average CR Time
  • Global Cache Average Current Get Time
  • Buffer Cache Hit POINT
  • PGA Cache Hit POINT
  • Library Hit POINT
  • Latch Hit POINT
  • Latch:shared pool
  • Latch:row cache objects
  • Latch:cache buffers chains
  • Latch:cache buffers lru chain
  • Latch:gc element
  • Latch:DML lock allocation
  • Parse count
  • Hard parse count
  • Slowest File Average Read Wait time
  • Table fetch continued row
  • Dirty buffers inspected
  • Cell physical IO bytes eligible for predicate offload
  • Cell physical IO bytes saved by storage index
  • Cell physical IO interconnect bytes returned by smart scan
  • Cell IO uncompressed bytes
  • Top 5 Wait Event
  • Top 5 Wait Event trends

ASH

技术分享

等待事件,除了整个区间的top5事件,更是列出所有snap区间的等待事件。

技术分享

Awrcrt的使用方法和技巧

用法和awrrpt类似

sqlplus / as sysdba

@awrcrt.sql

--4个参数

--参数1 显示多少天的awr snap list  

--参数2 开始snap id

--参数3 结束snap id

--参数3 输入80(显示图像相关的)

--参数4实例id

5~60秒后,在当前目录生成一个 AWRCRT*html的报告

 

Tip1:   只支持11.2 以及之后的数据库(由于使了聚合字符串函数)。

Tip2:  一般选择5~7天的snap来出趋势,但是有的库启动时间太长,统计的值特别大,可能导致脚本里面字符串超出最大长度,这个时候,只能缩短区间的,比如5天或者更短

Tip3:为什么我看不到图表?

在报告生成结束后,注意有没有ORA-错误。也可以报告出来以后, cat一下html,看有没有ORA- , 需要确保没有ORA-错误。 老版本的IE支持html5很差,建议用firefox chrome ie10 等浏览器看报告,生成的html报告需要和crt.js放在一个目录才能看到图表报告. 如果仍然看不到图表, 把html发送到valen点wang@oracle点com  我会抽时间看。

Tip4: awrcrt.sql 放在服务器上,如果采用vi 粘贴, 注意检查大小行数, 经常有的环境,copy大文件要丢了字符。最好ftp上去。

Tip5: 没有刻意去处理数据库发生过重启的时间点,也许会看到比较奇怪的数据,注意检查数据库是否重启过

 

Awrcrt的lisence申明

Permission is hereby granted by Author, free of charge, to any person abotaining a copy of this software,
to deal in the software without restriction, including without limitation the rights to use,copy or distribute .
The copy right of Chart javascript belongs to its author Nick Downie (http://www.nickdownie.com/)  . This js is an open source project which
is under MIT license.
awrcrt
作者: 王文杰  From

Oracle Advanced Customer Support

Version : 1.1
Date    : 2016-07   

如何获得awrcrt.sql

百度网盘: 

http://pan.baidu.com/s/1mhIONVy

也可发送邮件到valen点wang@oracle点com

Awrcrt的更新计划

目前awrcrt是业余时间更新,大约每3~5个月更新一次版本,如果巡检任务多,更新则更频繁。更新会在博客和微信号发布。

技术分享

Oracle性能图表工具:awrcrt.sql