ORACLE中AWR快照的深入分析和方法.doc

ORACLE中AWR快照的深入分析和方法.doc

ID:48956388

大小:82.00 KB

页数:21页

时间:2020-02-26

ORACLE中AWR快照的深入分析和方法.doc_第1页
ORACLE中AWR快照的深入分析和方法.doc_第2页
ORACLE中AWR快照的深入分析和方法.doc_第3页
ORACLE中AWR快照的深入分析和方法.doc_第4页
ORACLE中AWR快照的深入分析和方法.doc_第5页
资源描述:

《ORACLE中AWR快照的深入分析和方法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.ORACLE中AWR快照的深入分析和方法我想,对于每一个从事数据库管理信息系统的IT人士,都对ORACLE性能分析和性能研究产生一些兴趣,同时仪受到性能方面的一些困扰。根据我个人经验,认为每一个要成为ORACLE性能分析的高手,都应该对ORACLE的AWR有一个比较深入的理解和使用。学会从AWR快照分析中获得对自己有用的信息,是性能分析专家不可少的一个方面,如果再能结合应用服务的日志结合分析的话,是能够分析出一些关键的存在性能问题的SQL,从这些SQL中再进行反推是应用的哪些功能造成的,由此组织技术团队进行优化,循序渐进,不断改进。 一个大的项目的性能优化是一个长期的

2、过程。 以下是AWR的一些关键知识点,不是本人原创,我感觉解释的很透彻。望阅读后能加深对AWR的理解和认识。一、WHY——为什么会出现ASH和AWR?1.    10g之前用户的连接将产生会话,当前会话记录保存在v$session中;处于等待状态的会话会被复制一份放在v$session_wait中。当该连接断开后,其原来的连接信息在v$session和v$session_wait中就会被删除。这是10g之前的状况。2.    v$session_wait_history与ASH若是一个普通的会话(我是指没有大量地耗费资源),则对于性能调整来说无足轻重。但若该会话在活动时

3、大量占用了资源(比如:CPU,内存,I/O等),该会话信息的丢失,将无法评测当时的系统瓶颈究竟是什么。令DBA高兴的是,oracle10g中保留下了v$session_wait中的这些信息。word范文.在10g中新出现了一个视图:v$session_wait_history。这个视图保存了每个活动session在v$session_wait中最近10次的等待事件。但这对于一段时期内的数据库性能状况的监测是远远不够的,为了解决这个问题,在10g中还新添加了一个视图:v$active_session_history。这就是ASH(activesessionhistory)

4、。典型的情况下,为了诊断当前数据库的状态,需要最近的五到十分钟的详细信息。然而,由于记录session的活动信息是很费时间和空间的,ASH采用的策略是:保存处于等待状态的活动session的信息,每秒从v$session_wait中采样一次,并将采样信息保存在内存中。3.    AWR注意,ASH的采样数据是保存在内存中。而分配给ASH的内存空间是有限的,当所分配空间占满后,旧的记录就会被覆盖掉;而且数据库重启后,所有的这些ASH信息都会消失。这样,对于长期检测oracle的性能是不可能的。在Oracle10g中,提供了永久保留ASH信息的方法,这就是AWR(autow

5、orkloadrepository)。由于全部保存ASH中的信息是非常耗费时间和空间的,AWR采用的策略是:每小时对v$active_session_history进行采样一次,并将信息保存到磁盘中,并且保留7天,7天后旧的记录才会被覆盖。这些采样信息被保存在视图wrh$_active_session_history中。而这个采样频率(1小时)和保留时间(7天)是可以根据实际情况进行调整的,这就给DBA们提供了更加有效的系统监测工具。AWR永久地保存系统的性能诊断信息,由SYS用户拥有。一段时间后,你可能想清除掉这些信息;有时候为了性能诊断,你可能需要自己定义采样频率来

6、获取系统快照信息。Oracle10g在包dbms_workload_repository中提供了很多过程,通过这些过程,你可以管理快照并设定基线(baselines)。4.    小结这样,我们就知道了ASH和AWR产生的原因和功能。ASH保存了系统最新的处于等待的会话记录,可以用来诊断数据库的当前状态;而AWR中的信息最长可能有1小时的延迟,所以其采样信息并不能用于诊断数据库的当前状态,但可以用来作为一段时期内数据库性能调整的参考。对于这些视图间的继承关系,eygle给出了一个关系图:word范文.图1各个视图的层次其中视图dba_hist_active_sess_h

7、istory是wrh$_active_session_history和其他几个视图的联合展现,通常通过这个视图进行历史数据的访问。二、WHAT——什么是AWR?现在我们稍微详细地了解一下刚才所说内容。1.    ash占用的内存大小ASH的采集信息保存在内存中,在旧的信息被采样到AWR中后,可被新采集的信息覆盖,重启oracle后该信息被清除。分配给ASH的内存大小可以查询到:SQL>selectpool,name,bytes/1024/1024Fromv$sgastatwherenamelike'%ASH%';POOL         

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。