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

上传人:b****4 文档编号:622285 上传时间:2022-10-11 格式:DOCX 页数:9 大小:571.76KB
下载 相关 举报
高消耗SQL之AWR报告导出与分析.docx_第1页
第1页 / 共9页
高消耗SQL之AWR报告导出与分析.docx_第2页
第2页 / 共9页
高消耗SQL之AWR报告导出与分析.docx_第3页
第3页 / 共9页
高消耗SQL之AWR报告导出与分析.docx_第4页
第4页 / 共9页
高消耗SQL之AWR报告导出与分析.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

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

《高消耗SQL之AWR报告导出与分析.docx》由会员分享,可在线阅读,更多相关《高消耗SQL之AWR报告导出与分析.docx(9页珍藏版)》请在冰豆网上搜索。

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

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

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

 

                       BSS测试部

邹家勇(cx0069)

 

前言

由于现网BOSS及NGBOSS均出现高消耗SQL现象,导致服务器性能下降,甚至超时,无法受理业务现象,为了防止这种问题再出现在生产环境。

我们可以定时(每天/每两天)抓取内部测试环境或UAT测试环境的高消耗SQL,进行分析、优化,使高消耗SQL不再上生产环境,下面是高消耗SQL的获取方法,实用于所有基于ORACLE_10G及以上数据库版本的系统。

AWR报告导出

AWR由ORACLE自动产生的(oracle_10及以上版本),是oracle性能分析的利器,很好很强大,默认1小时采集一次(采集时间可修改,采集时间不宜太小,对ORACLE本身有性能影响),保留7天的记录。

但是也可以通过DBMS_WORKLOAD_REPOSITORY包来手工创建、删除和修改。

使用脚本awrrpt.sql或awrrpti.sql来导出AWR报告,报告格式保存为文本文件或HTML文件。

生成AWR报告的步骤如下:

 

前提:

登录要有oracle_dba权限

1.cd$ORACLE_HOME/RDBMS/ADMIN

2.exportORACLE_SID='要导出报告的数据库实例名称'如testdb

3.sqlplus用户名/密码@testdb

4.SQL>@awrrpt.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.将报告下载到本地,用浏览器打开。

获取高消耗SQL语句

AWR报告中有很多性能分析数据,是DBA常用的性能工具之一,我们主要是获取报告中的SQL语句。

打开我们刚才生成的“testdb_20121224_425_427.html”,找到“SQLStatistics”这一节。

列表

说明

SQLorderedbyElapsedTime

SQL语句执行用总时长,此排序就是按照这个字段进行的。

注意该时间不是单个SQL跑的时间,而是监控范围内SQL执行次数的总和时间。

单位时间为秒。

ElapsedTime=CPUTime+WaitTime

SQLorderedbyCPUTime

为SQL语句执行时CPU占用时间总时长,

此时间会小于等于ElapsedTime时间。

单位时间为秒

SQLorderedbyUserI/O

WaitTime

为IO等待最长的SQL语句top

SQLorderedbyGets

记录了执行占总buffergets(逻辑IO)的TOPSQL

SQLorderedbyReads

记录了执行占总磁盘物理读(物理IO)的TOPSQL

SQLorderedbyPhysicalReads

(UnOptimized)

记录了执行占总磁盘物理读(物理IO)的TOPSQL

(系统优化统计,11G新功能)

SQLorderedbyExecutions

SQL语句在监控范围内的执行次数总计(哪些SQL执行的次数最多,如果是生产环境的话代表业务较频繁)。

SQLorderedbyParseCalls

SQL的软解析次数的TOPSQL

SQLorderedbySharableMemory

录了SQL占用librarycache的大小的TOPSQL

SQLorderedbyVersionCount

记录了SQL的打开子游标的TOPSQL

SQLorderedbyClusterWaitTime

记录了集群的等待时间的SQL

CompleteListofSQLText

sql语句列表

SQL语句分析方法:

1.查看SQL执行时间:

Settimingon

SQL语句

例:

SQL>settimingon

SQL>InsertIntoHscdiff.Hc_Subs_Product_Fs_Ch_d

(Subsid,Region,Subsprodid,Prodid,Packageid,Packageprodid,Tariffitemid,Standardtariff,Price,Startdate,

Enddate,Status,Changedate,Seqnum,Groupid)

SelectSubsid,Region,Subsprodid,Prodid,Packageid,Packageprodid,Tariffitemid,Standardtariff,Price,Startdate,

Enddate,Status,Changedate,Seqnum,Groupid

FromFshsc.Hsc_Subs_Product2002

WhereTariffitemidIsNotNullAnd

TariffitemidIn

(SelectTariffitemid

FromFshsc.Hsc_Ps_Ratingrelationa

Wherea.TariffitemcodeIn(SelectDisccodeFromFshsc.Hsc_Ps_RatingdisccodeWhereLength(Disccode)=4))And

Rownum<5;

4rowscreated.

Elapsed:

00:

00:

01.04

上面这个sql语句执行时间为1.04秒。

(实现同样的功能,上面的语句可以优化,当然这语句消耗不算太高,想想哦)

2.查看SQL执行计划

explainplanfor

SQL语句

select*fromTABLE(dbms_xplan.display());//查询执行结果。

例:

SQL>explainplanfor

InsertIntoHscdiff.Hc_Subs_Product_Fs_Ch_d

(Subsid,Region,Subsprodid,Prodid,Packageid,Packageprodid,Tariffitemid,Standardtariff,Price,Startdate,

Enddate,Status,Changedate,Seqnum,Groupid)

SelectSubsid,Region,Subsprodid,Prodid,Packageid,Packageprodid,Tariffitemid,Standardtariff,Price,Startdate,

Enddate,Status,Changedate,Seqnum,Groupid

FromFshsc.Hsc_Subs_Product2002

WhereTariffitemidIsNotNullAnd

TariffitemidIn

(SelectTariffitemid

FromFshsc.Hsc_Ps_Ratingrelationa

Wherea.TariffitemcodeIn(SelectDisccodeFromFshsc.Hsc_Ps_RatingdisccodeWhereLength(Disccode)=4))And

Rownum<5;

Explained.

―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

SQL>select*fromTABLE(dbms_xplan.display())

PLAN_TABLE_OUTPUT

-----------------------------------------------------------------------------------------------------------------

Planhashvalue:

1406724898

-----------------------------------------------------------------------------------------------------------------

|Id|Operation|Name|Rows|Bytes|Cost(%CPU)|Time|

-----------------------------------------------------------------------------------------------------------------

|0|INSERTSTATEMENT||4|452|5632

(1)|00:

01:

08|

|1|LOADTABLECONVENTIONAL|HC_SUBS_PRODUCT_FS_CH_D|||||

|*2|COUNTSTOPKEY||||||

|3|NESTEDLOOPS||||||

|4|NESTEDLOOPS||395K|42M|5632

(1)|00:

01:

08|

|5|VIEW|VW_NSO_1|27|486|92(3)|00:

00:

02|

PLAN_TABLE_OUTPUT

-----------------------------------------------------------------------------------------------------------------

|6|SORTUNIQUE||27|1107|||

|7|NESTEDLOOPS||27|1107|92(3)|00:

00:

02|

|8|INDEXFASTFULLSCAN|PK_HSC_PS_RATINGRELATION|35464|1246K|90(0)|00:

00:

02|

|*9|INDEXUNIQUESCAN|PK_HSC_PS_RATINGDISCCODE|1|5|0(0)|00:

00:

01|

|*10|INDEXRANGESCAN|IDX_SUBSPRODUCT_TARIITEMID2002|15377||65(0)|00:

00:

01|

|11|TABLEACCESSBYINDEXROWID|HSC_SUBS_PRODUCT2002|14662|1360K|1415

(1)|00:

00:

17|

-----------------------------------------------------------------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1