高消耗SQL之AWR报告导出与分析

上传人:yh****1 文档编号:139710925 上传时间:2020-07-23 格式:DOC 页数:10 大小:601KB
返回 下载 相关 举报
高消耗SQL之AWR报告导出与分析_第1页
第1页 / 共10页
高消耗SQL之AWR报告导出与分析_第2页
第2页 / 共10页
高消耗SQL之AWR报告导出与分析_第3页
第3页 / 共10页
高消耗SQL之AWR报告导出与分析_第4页
第4页 / 共10页
高消耗SQL之AWR报告导出与分析_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《高消耗SQL之AWR报告导出与分析》由会员分享,可在线阅读,更多相关《高消耗SQL之AWR报告导出与分析(10页珍藏版)》请在金锄头文库上搜索。

1、 .高消耗SQL之AWR报告导出与分析测试部邹家勇(cx0069)目录高消耗SQL之AWR报告导出与分析1前言3报告导出3获取高消耗语句3语句分析法:31.查看SQL执行时间:32.查看SQL执行计划33.查看trace信息(最详细)3SQL语句编写注意事项3性能优化3前言由于现网及均出现高消耗现象,导致服务器性能下降,甚至超时,无法受理业务现象,为了防止这种问题再出现在生产环境。我们可以定时(每天/每两天)抓取部测试环境或测试环境的高消耗,进行分析、优化,使高消耗不再上生产环境,下面是高消耗的获取法,实用于所有基于_10G及以上数据库版本的系统。报告导出AWR由ORACLE自动产生的(ora

2、cle_10及以上版本),是oracle性能分析的利器,很好很强大,默认1小时采集一次(采集时间可修改,采集时间不宜太小,对本身有性能影响),保留天的记录。但是也可以通过DBMS_WORKLOAD_REPOSITORY包来手工创建、删除和修改。使用脚本awrrpt.sql或awrrpti.sql来导出AWR报告,报告格式保存为文本文件或HTML文件。 生成AWR报告的步骤如下:前提:登录要有oracle_dba权限1.cd $ORACLE_HOME/RDBMS/ADMIN2.export ORACLE_SID=要导出报告的数据库实例名称 如testdb3.sqlplus 用户名/密码testd

3、b4.SQLawrrpt.sql (注:调用awrrpt.sql文件)5.输入report_type的值:html (注:确定报告的格式) 6.输入num_days的值:1 (注:选择快照的天数) 7.输入begin_snap的值:425 (注:起始快照) 8.输入end_snap的值:437 (注:结束快照) 9.输入report_name的值:testdb_20121224_425_427.html (注:报告生成的名称和位置,默认放在当前路径下)10.将报告下载到本地,用浏览器打开。获取高消耗语句报告中有很多性能分析数据,是常用的性能工具之一,我们主要是获取报告中的语句。打开我们刚才生成

4、的“testdb_20121224_425_427.html”,找到“SQL Statistics”这一节。列表说明SQL ordered by Elapsed TimeSQL 语句执行用总时长,此排序就是按照这个字段进行的。注意该时间不是单个SQL 跑的时间,而是监控围SQL 执行次数的总和时间。单位时间为秒。Elapsed Time = CPU Time + Wait TimeSQL ordered by CPU Time为SQL 语句执行时CPU 占用时间总时长,此时间会小于等于Elapsed Time 时间。单位时间为秒SQL ordered by User I/O Wait Time

5、为等待最长的语句topSQL ordered by Gets记录了执行占总buffer gets( 逻辑IO ) 的TOP SQLSQL ordered by Reads记录了执行占总磁盘物理读( 物理IO ) 的TOP SQLSQL ordered by Physical Reads (UnOptimized)记录了执行占总磁盘物理读( 物理IO ) 的TOP SQL(系统优化统计,新功能)SQL ordered by ExecutionsSQL 语句在监控围的执行次数总计(哪些执行的次数最多,如果是生产环境的话代表业务较频繁)。SQL ordered by Parse CallsSQL 的

6、软解析次数 的TOP SQLSQL ordered by Sharable Memory录了SQL 占用library cache 的大小 的TOP SQL SQL ordered by Version Count记录了SQL 的打开子游标 的TOP SQL SQL ordered by Cluster Wait Time记录了集群的等待时间的SQLComplete List of SQL Textsql语句列表语句分析法:1. 查看SQL执行时间:Set timing onSQL语句例:SQL set timing onSQL Insert Into Hscdiff.Hc_Subs_Prod

7、uct_Fs_Ch_d (Subsid, Region, Subsprodid, Prodid, Packageid, Packageprodid, Tariffitemid, Standardtariff, Price, Startdate, Enddate, Status, Changedate, Seqnum, Groupid) Select Subsid, Region, Subsprodid, Prodid, Packageid, Packageprodid, Tariffitemid, Standardtariff, Price, Startdate, Enddate, Statu

8、s, Changedate, Seqnum, Groupid From Fshsc.Hsc_Subs_Product2002 Where Tariffitemid Is Not Null And Tariffitemid In (Select Tariffitemid From Fshsc.Hsc_Ps_Ratingrelation a Where a.Tariffitemcode In (Select Disccode From Fshsc.Hsc_Ps_Ratingdisccode Where Length(Disccode) = 4) And Rownum explain plan fo

9、r Insert Into Hscdiff.Hc_Subs_Product_Fs_Ch_d (Subsid, Region, Subsprodid, Prodid, Packageid, Packageprodid, Tariffitemid, Standardtariff, Price, Startdate, Enddate, Status, Changedate, Seqnum, Groupid) Select Subsid, Region, Subsprodid, Prodid, Packageid, Packageprodid, Tariffitemid, Standardtariff

10、, Price, Startdate, Enddate, Status, Changedate, Seqnum, Groupid From Fshsc.Hsc_Subs_Product2002 Where Tariffitemid Is Not Null And Tariffitemid In (Select Tariffitemid From Fshsc.Hsc_Ps_Ratingrelation a Where a.Tariffitemcode In (Select Disccode From Fshsc.Hsc_Ps_Ratingdisccode Where Length(Disccod

11、e) = 4) And Rownum select * from TABLE(dbms_xplan.display()PLAN_TABLE_OUTPUT-Plan hash value: 1406724898-| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |-| 0 | INSERT STATEMENT | | 4 | 452 | 5632 (1)| 00:01:08 | 1 | LOAD TABLE CONVENTIONAL | HC_SUBS_PRODUCT_FS_CH_D | | | | |* 2 | COUNT STOPKEY |

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号