关键词不能为空

当前您在: 主页 > 英语 >

passbyOracle自带性能分析工具-awr介绍和分析

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-01-28 01:42
tags:

passby-grav

2021年1月28日发(作者:scion)


Oracle


自带性能分析工具-


AWR


介绍和分




杭州华三通信技术有限公司


















1 Oracle 10g



AWR


性能优化工具简介

< br>


2 AWR


配置



2.1 AWR


统计数据的缺省配置



2.2


修改


AWR

< br>统计数据的设置



2.3 AWR


的使用



2.3.1 AWR< /p>


产生快照点


(


时间点

)


的方法:手动或自动方式



2.3.2 AWR


产生报表的方法:使用

SQL


命令,根据快照产生相应实例的报表



2.4


关注报表具体内容



2.4.1 Load Profile



2.4.2 Instance Efficiency Percentages (Target 100%)



2.4.3 IO Stats



3


< br>AWR


报表内容进行分析的


ADDM

工具



3.1 ADDM


概述



3.2 ADDM


的使用方法



3.2.1 < /p>


在所有


Oracle


服务器上确认


EM


的状态,并启动


EM

进程



3.2.2


通过


IE


浏览器,登录


EM


界面



3.3 ADDM


查询和诊断到的问题有那些



3.3.1


查看集群中


Oracle


服务器的硬件配置



3.3.2 CPU


的瓶颈



3.3.3


内存结构上的瓶颈?



3.3.4 < /p>


内存参数


SGA



PGA


查看和分析



3.3.5 I/O


是否存在性能瓶颈


? (I/O


子系统是否工作正常


) ?



3.3.6


高负载的


SQL


语句


(


是否存在消耗过量系统资源的


SQL) ?



3.4 ADDM


分析的结果



4


总结



5


附录




1 Oracle 10g



AWR


性能优 化工具简介



AWR


(Automatic


Workload

< br>Repository)


既自动工作负载信息库是


Ora cle


10g


新提供的收集数据库统计信息的内置工具。


它比之前的


statspack


有显著的改 进,


收集的信息也更多、更全面,使用方法也更简单。



它主要采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟

< br>踪潜在的问题,如包括


AWR


内存区,历史数据存储文件 和


ASH


等部件。


< br>AWR


报告的内容繁多,官方文档也没有对所有参数给出说明。

< br>AWR


产生的报


表包括以下几部分。报表具体内容参见如 下插入的对象。




1




Report Summery



Cache sizes



Load profile



Instance Efficiency Percentages (Target 100%)



Shared Pool Statistics



Top 5 Timed Events



2




RAC Statistics



Global Cache Load Profile



Global Cache Efficiency Percentages (Target local+remote 100%)



Global Cache and Enqueue Services - Workload Characteristics



Global Cache and Enqueue Services - Messaging Statistics



3




Wait Events Statistics



Time Model Statistics



Wait Class



Wait Events



Background Wait Events



Operating System Statistics



Service Statistics



Service Wait Class Stats



4




SQL Statistics



SQL ordered by Elapsed Time



SQL ordered by CPU Time



SQL ordered by Gets



SQL ordered by Reads



SQL ordered by Executions



SQL ordered by Parse Calls



SQL ordered by Sharable Memory



SQL ordered by Version Count



SQL ordered by Cluster Wait Time



Complete List of SQL Text



5




Instance Activity Statistics



Instance Activity Stats



Instance Activity Stats - Absolute Values



Instance Activity Stats - Thread Activity



6




IO Stats



Tablespace IO Stats



File IO Stats



7




Buffer Pool Statistics



8




Advisory Statistics



Instance Recovery Stats



Buffer Pool Advisory



PGA Aggr Summary



PGA Aggr Target Stats



PGA Aggr Target Histogram



PGA Memory Advisory



Shared Pool Advisory



SGA Target Advisory



Streams Pool Advisory



Java Pool Advisory



9




Wait Statistics



Buffer Wait Statistics



Enqueue Activity



10




Undo Statistics



Undo Segment Summary



Undo Segment Stats



11




Latch Statistics



Latch Activity



Latch Sleep Breakdown



Latch Miss Sources



Parent Latch Statistics



Child Latch Statistics



12




Segment Statistics



Segments by Logical Reads



Segments by Physical Reads



Segments by Row Lock Waits



Segments by ITL Waits



Segments by Buffer Busy Waits



Segments by Global Cache Buffer Busy



Segments by CR Blocks Received



Segments by Current Blocks Received



13




Dictionary Cache Statistics



Dictionary Cache Stats



Dictionary Cache Stats (RAC)



14




Library Cache Statistics



Library Cache Activity



Library Cache Activity (RAC)



15




Memory Statistics



Process Memory Summary



SGA Memory Summary



SGA breakdown difference



16




Streams Statistics



Streams CPU/IO Usage



Streams Capture



Streams Apply



Buffered Queues



Buffered Subscribers



Rule Set



17




Resource Limit Stats



18




Parameters



19




Global Enqueue Statistics



20




Global CR Served Stats



21




Global CURRENT Served Stats



22




Global Cache Transfer Stats



2 AWR


配置



2.1 AWR


统计数据的缺省配置



AWR


实质上是一个


Oracle


的内置工具,它采集与性能相关的统计数据,并从


那些统计数据 中导出性能量度,以跟踪潜在的问题。


AWR


利用多个快照


(


既时


间点


)


来采集数据。快照由一个称为


MMON


的新后台进程及其该进程自动地每


小时采集一次。为了节省空间,采集的数据在


7


天后自动清除。快照频率



SNAP_INTERVAL


)和保留时间(


RET ENTION


)都可以由用户修改。查看


当前的缺省设置,可以 使用下面的语句:



SQL> select snap_interval, retention from dba_hist_wr_control;



SNAP_INTERVAL


RETENTION



+00000 01:00:00.0


+00007 00:00:00.0



这些


SQL


语句显示快照每小时采集一次,采集的数据保留


7


天。




注意:



1



snap_interval


取值范围为


[ 10


分钟


52560000


分钟


]




2.2


修改

< br>AWR


统计数据的设置



例如,根据使用需要,修改快照时间间隔为


20

< p>
分钟,保留时间为


2




,通过


如下命令修改,参数以分钟为单位。


修改:



SQL> begin




dbms_workload__snapshot_settings (




interval => 20,




retention => 2*24*60




);




end;




/




PL/SQL


过程已成功完成。




修改后,查询结果:



SQL> select snap_interval, retention from dba_hist_wr_control;



SNAP_INTERVAL


RETENTION



+00000 00:20:00.0


+00002 00:00:00.0



2.3 AWR


的使用



2.3.1 AWR


产生快照点


(


时间点

< br>)


的方法:手动或自动方式



1. AWR


手动产生快照



SQL> exec dbms_workload__snapshot;



PL/SQL


过程已成功完成。



2. AWR


自动产生快照



根据所设定的快照频率(


SNAP_INTERVAL

< br>)自动产生快照



2.3.2 AWR


产生报表的方法:使用


SQL


命令,根据快照产生相应 实例的报表



使用


SQL>


@?/rdbms/admin/awrrpt



命令产生报表。该命令实际调用的是位于


名称:


$$O RACLE_HOME/rdbms/admin/


下的脚本



awr


提供一个脚本来生成报表。


报表 的形式有两种:


text



html< /p>



建议生成


html

格式的报表,因为可读性非常。



用脚本生成


awr


报表需要以


sys


用 户登录并执行命令。执行过程需要输入报表


类型、


天数


(用来决定显示那几天内的快照


(snapshot)

< br>)



begin_snap


、< /p>


end_snap



以及报表名称等


5


个参数。



1. AWR


产生报表举例



(1)



推荐采用通过客户端连接实例产生报表



有两种方法执行如下命令:


通过客户端连接实例或登录到


Or acle


服务器再连接


实例。



通过不同的方式登录,产生报表的位置是不同的。


< p>
1


、通过


Windows


客户端


DOS


窗口连接实例,产生报表的位置位于默认登录< /p>


路径,如下:




通过


Windows


DOS


窗口登录并执行


@?/rdbms/admin/awrrpt


命令,所产生的


报表位于


C:

< br>目录下



2


、通过


Oracle


服务器连接实例,产生报表位于


/ho me/oracle


目录下




# cd /home/oracle



# ls -l awrrpt_2_1_



-rw-r--r--


1 oracle


oinstall


324609 Oct 16 14:23 awrrpt_2_12_




(2)



查看产生快照时间点间隔和采集数据保持的天数




SQL> select snap_interval, retention from dba_hist_wr_control;




SNAP_INTERVAL


RETENTION



+00000 01:00:00.0


+00007 00:00:00.0




注意:



默认情况下,


Oracle


数据库每隔


1


个 小时会自动生成


1


个快照点,


并保持< /p>


7


天内的快照点的


数据,以便用户分析。




(3)



执行


SQL


命令,产生指定快照时间点 间隔的数据报表



SQL>


@?/rdbms/admin/awrrpt



Current Instance



DB Id


DB Name


Inst Num


Instance



-----------


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


--------


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



1286484956 ORA


2


ora2


//


生成实例


ora2


的统计报表




Specify the Report Type



~~~~~~~~~~~~~~~~~~~~~~~



Would


you


like


an


HTML


report,


or


a


plain


text


report?


Enter


'html'


for


an


HTML report, or 'text' for plain text Defaults to 'html'



输入


report_type


的值


:


html


//


报表类型



Type Specified:


html




Instances in this Workload Repository schema




DB Id


Inst Num


DB Name


Instance


Host



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


--------


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


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



* 1286484956


2


ORA


ora2


aix53




1286484956


1


ORA


ora1


aix54




Using 1286484956 for database Id



Using


2 for instance number




Specify the number of days of snapshots to choose from



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~



Entering


the


number


of


days


(n)


will


result


in


the


most


recent


(n)


days


of


snapshots being listed.


Pressing without specifying a number lists all


completed snapshots.





num_days




:


3


//




(< /p>






显示





内的




< p>
(snapshot))




Listing the last 3 days of Completed Snapshots



Instance


DB Name


Snap Id


Snap Started


Snap Level



ora2


ORA


1


16 10



2008 12:00


1




2


16 10



2008 13:00


1




3


16 10



2008 14:00


1




4


16 10



2008 15:00


1




5


16 10



2008 16:00


1




6


16 10



2008 17:00


1





7


16 10



2008 17:15


1



//


手动生成的快照点




8


16 10



2008 18:00


1




9


16 10



2008 19:00


1




10


16 10



2008 20:00


1




11


16 10



2008 21:00


1




12


16 10



2008 22:00


1




13


16 10



2008 23:00


1




14


17 10



2008 00:00


1




15


17 10



2008 01:00


1





注:以上是根据


AWR


的默认设置,每小时产生一个快照点数据



Specify the Begin and End Snapshot Ids



~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~



输入


begin_snap


的值


:


12



Begin Snapshot Id specified:


12




输入


end_snap


的值


:


15



End


Snapshot Id specified:


15




Specify the Report Name



~~~~~~~~~~~~~~~~~~~~~~~



The default report file name is awrrpt_2_12_.


To use this name, press


to continue, otherwise enter an alternative.




输入


report_name


的值


:


//< /p>


回车,


可以使用缺省值:


awrrpt_ 2_12_




2.4


关注报表具体内容



报表内的参数内容 繁多,


oracle


官方网站搜索,也没有找到文档对如此众多 参


数的介绍。从存储的角度,个人认为需要关注的内容主要有:



Report Summery



Cache sizes



Load profile



Instance Efficiency Percentages (Target 100%)



Shared Pool Statistics



Top 5 Timed Events



IO Stats



Tablespace IO Stats



File IO Stats



2.4.1 Load Profile



Redo size


:



Logical reads:



Block changes:


Physical reads:



Physical writes:


User calls:


Parses:


Hard parses:


Sorts:


Logons:


Executes:


Transactions:


Per Second



1,207.60



18.45



6.23


0.01



0.40


2.42


1.39


0.02


0.80


0.04


3.91


0.42


Per Transaction



2,906.73



44.42



14.99


0.02



0.96


5.84


3.33


0.05


1.92


0.10


9.42




% Blocks changed per Read:


Rollback per transaction %:


33.74


52.36


Recursive Call %:


Rows per Sort:


85.40


11.78



1. Redo size


表示


instance


每秒


/


每事务产生的日志大小


(


单位字节

< br>)


,可表示数据库任务的繁


重与否。如日志量比较大,特 别是每个事务的日志量都比较大的时候,需要检


查是否有较大的事务在运行。

< p>


2. Logical reads


表示


instance


每秒


/

< br>每事务产生的逻辑读,单位是


block




3. block changes


表示


instance


每秒


/

每事务


block


变化数量,数据库事务带来改变的块数量



4. Physical reads

表示


instance


每秒


/


每事务产生的物理读,


单位是


block< /p>



如果说逻辑读是从内存


中获得数据,< /p>


那么,


物理读就是要实实在在的从硬盘或者磁盘阵列中获得数据,


这个取决于磁盘和阵列的相应速度。


与逻辑读同样,

< p>
物理读也可能来自于


select


语句,而不一定 仅是来自于事务。



5. Physical writes


表示


instance


每秒

< p>
/


每事务产生的物理写,


单位是

< br>block



这个指标在很大程度上

决定了数据库系统的写压力。



6. User calls


表示


instance


每 秒


/


每事务产生的用户调用次数。


Us er calls/Executes


基本代表了


每个语句的请 求次数,


Executes


越接近


Us er calls


越好。



7. Parses


表示


instance


每秒


/


每事务解析总次数。包括软分析和硬分析,但是不包括快 速


分析。近似反应每秒


/


事务语句的执 行次数


,


软解析每秒超过


300


次意味着你的



应用程序



效率不高,没有使用


soft parse

< br>,建议调整


session_cursor_cache




8. Hard parses


表示


instance


每秒


/


每事务产生的硬解析次数,这在高可用的


OLTP


环境中应当


尽可能避免,


应当正确地使用绑定变量避免这样的 情况发生。


每秒超过


100


次,


就可能说明你绑定使用的不好



9. Sorts


表示


instance


每 秒


/


每事务产生的排序次数。



10. Executes


表示


in stance


每秒


/


每事务产生的语句 执行次数,


包括了用户执行的


SQL


语 句与


系统执行的


SQL


语句,表示一个 系统


SQL


语句的繁忙程度。



11. Transactions


表示

instance


每秒


/


每事务产 生的事务数,


表示一个数据库系统的事务繁重程度。


这在不同的 系统中,


略有差异,


如在一个典型的交易系统中


(如:


证券、


银行)



可能主要是事务比较多;而在一个网站系统,可能主要是


Web


查询(


select



比较多。



12. Rollback per transaction%


看回滚率是不是很高,因为回滚很耗资源。如果回滚过高, 可能说明你的数据


库经历太多的无效操作。过多的回滚可能还会带来

Undo Block


的竞争。



2.4.2 Instance Efficiency Percentages (Target 100%)


Buffer Nowait %:


100.00


Redo NoWait %:


100.00


Buffer Hit %:


Library Hit %:


Execute to Parse %:


Parse CPU to Parse Elapsd %:


99.96


98.67


64.62


32.10


In-memory Sort %:


Soft Parse %:


Latch Hit %:


% Non-Parse CPU:


100.00


98.43


100.00


97.68


1. Buffer Nowait %


在缓冲区中获取


Buffer


的未等待比率< /p>


,


Buffer


Nowait<99 %


说明,有可能是有热



(

< p>
查找


x$$bh



tch



v$$latch_children



cache buffers chains)



2. Redo NoWait %



Redo


缓冲区获取


Buffer


的 未等待比率



3. Buffer Hit %


数据块在数据缓冲区中得命中率。如果在典型的


OLTP

环境中,通常应在


95%


以上。


否 则应考虑加大


db_cache_size,


但是大量的非选择 的索引也会造成该值很


高(大量的


db file sequential read


)。



4. In-memory Sort %


在内存中的排序率。



5. Library Hit %


主要代表


sql


在共享区的命中率,通常在


95%


以上,否则,需要要 考虑加大共


享池,绑定变量,修改


cursor_sharin g


等参数。



6. Soft Parse %


近似看作


sql


在共 享区的命中率,小于


95%


,需要考虑到绑定。如果低于


80%



那么可能是


sql


没有被重用。



7. Execute to Parse %


sql


< p>
















低< /p>









session_cached_cursors


参数


,


公式为


100 * (1 - Parses/Executions) = Execute to


Parse


所以如果系统


Parses > Executions,


就可能出现该比


?


小于


0


的情况


,

< p>
该值


<0


通常说明


sha red


pool


设置或效


?


存在问题造成反复解析,


reparse


可能较 严重


,


或者可是同


snapshot< /p>


有关如果该值为负值或者极低


,


通常说明 数据库性能存在问


题。



8. Latch Hit %


表示内部结构维护锁命中率,通常高于


99


%。其值低是因为


shared_pool_size< /p>


过大或没有使用绑定变量导致硬解析过多。



9. Parse CPU to Parse Elapsd %

< br>解析实际运行事件


/


解析实际运行时间。



2.4.3 IO Stats


1. Tablespace IO Stats


ordered by IOs (Reads + Writes) desc



Read


s


Av


Reads/


s


0


Av


Rd(ms


)


2.50


Av


Blks/R


d


1.06


Write


s


Av


Writes/


s


0


Buffe


r


Av


Buf


Wt(ms


Tablespace


Waits


)


2


0.00


SYSAUX


UNDOTBS


2


SYSTEM


32


1,283


0


0


0.00


0.00


480


0


0


0.00


24


0


0.42


1.00


65


0


0


0.00


2. File IO Stats


ordered by Tablespace, File



Av


Read


s/s


Av


Rd(


ms)


Av


Blks/


Rd


Av


Write


s/s


Buff


er


Wai


ts


Av


Buf


Wt(


ms)


Tablesp


ace


Filename


Rea


ds


Writ


es


SYSAU


X


SYSTE


M


UNDOT


BS2


/dev/rorasys


aux


/dev/rorasyst


em


/dev/roraund


otbs2


32


0


2.50


1.06


1,28


3


0


2


0.00


24


0


0.42


1.00


65


0


0


0.00


0


0




480


0


0


0.00


3


< br>AWR


报表内容进行分析的


ADDM

工具



3.1 ADDM


概述



现在


Oracle Database 10g

< p>
中推出的这个引擎称为自动数据库诊断监控程序既


ADDM



(


Automatic


Performance


Diagnosis


)


。为了作出决策,


ADDM


使用了



AWR


采集的数据。在


AWR


进行的每一次快照采集之后,调用


ADDM

< br>来检


查量度并生成建议。因此,实际上拥有了一个一天二十四小时工作的自动数据


库管理员,


它主动地分析数据并生成建议,

从而把


DBA


解放出来,


使能够关 注


更具有战略意义的问题。



缺省情况下,在安装


Oracle 10g RAC


软件时


,


即安装


EM 10g



Oracle Enterprise


Manager



,


在概念 上它与以前版本的不同之处在于,它不是客户端安装的工具;

passby-grav


passby-grav


passby-grav


passby-grav


passby-grav


passby-grav


passby-grav


passby-grav



本文更新与2021-01-28 01:42,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/576025.html

Oracle自带性能分析工具-awr介绍和分析的相关文章