ORACLEAWR报告结果分析

上传人:枫** 文档编号:496754417 上传时间:2023-04-05 格式:DOC 页数:68 大小:1.73MB
返回 下载 相关 举报
ORACLEAWR报告结果分析_第1页
第1页 / 共68页
ORACLEAWR报告结果分析_第2页
第2页 / 共68页
ORACLEAWR报告结果分析_第3页
第3页 / 共68页
ORACLEAWR报告结果分析_第4页
第4页 / 共68页
ORACLEAWR报告结果分析_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《ORACLEAWR报告结果分析》由会员分享,可在线阅读,更多相关《ORACLEAWR报告结果分析(68页珍藏版)》请在金锄头文库上搜索。

1、-ORACLE-AWR报告结果分析AWR 是 Oracle 10g版本推出的新特性, 全称叫AutomaticWorkloadRepository (自动负载信息库), AWR 是通过比照两次快,照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个局部。定义awr报告是oracle 10g下提供的一种性能收集和分析工具,它能提供一个时间段整个系统资源使用情况的报告,通过这个报告,我们就可以了解一个系统的整个运行情况,这就像一个人全面的体检报告。生成awr报告1:登陆对应的数据库效劳器2:找到oracle磁盘空间d:oracleproduct10.2.0db_1RDBMSA

2、dmin) 3:执行cmd-cd d:回车4: cd d:oracleproduct10.2.0db_1RDBMSAdmin 回车5:sqlplus 用户名/密码效劳连接名(例:sqlplus carmot_esz_1/carmotigrp) 6:执行awrrpt.sql 回车第一步输入类型: html 第二步输入天数:天数自定义如1,代表当天,如果2,代表今天和昨天。第三步输入开场值与完毕值:你可以看到上面列出的数据,snap值这个值输入开场,与完毕第四步输入导出表的名称:名称自定义回车第五步,由程序自动导完。第六:到d:oracleproduct10.2.0db_1RDBMSAdmin 目

3、录下。找到刚刚生成的文件。 *.LST文件如何分析 * 在看awr报告的时候,我们并不需要知道所有性能指标的含义,就可以判断出问题的所在,这些性能指标其实代表了oracle部实现,对oracle理解的越深,在看awr报告的时候,对数据库性能的判断也会越准确 * 在看性能指标的时候,心里先要明白,数据库出现性能问题,一般都在三个地方,io,存,cpu,这三个又是息息相关的ps:我们先假设这个三个地方都没有物理上的故障,当io负载增大时,肯定需要更多的存来存放,同时也需要cpu花费更多的时间来过滤这些数据,相反,cpu时间花费多的话,有可能是解析sql语句,也可能是过滤太多的数据,到不一定是和io

4、或存有关系了 * 当我们把一条sql送到数据库去执行的时候,我们要知道,什么时候用到cpu,什么时候用到存,什么时候用到io 1. cpu:解析sql语句,尝试多个执行方案,最后生成一个数据库认为是比较好的执行方案,不一定是最优的,因为关联表太多的时候,数据库并不会穷举所有的执行方案,这会消耗太多的时间,oracle怎么就知道这条数据时你要,另一个就不是你要的呢,这是需要cpu来过滤的 2. 存:sql语句和执行方案都需要在存保存一段时间,还有取到的数据,根据lru算法也会尽量在存中保存,在执行sql语句过程中,各种表之间的连接,排序等操作也要占用存3. io:如果需要的数据在存中没有,则需要

5、到磁盘中去取,就会用到物理io了,还有表之间的连接数据太多,以及排序等操作存放不下的时候,也需要用到临时表空间,也就用到物理io了这里有一点说明的是,虽然oracle占用了8G的存,但pga一般只占8G的20%,对于专用效劳器模式,每次执行sql语句,表数据的运算等操作,都在pga中进展的,也就是说只能用1.6G左右的存,如果多个用户都执行多表关联,而且表数据又多,再加上关联不当的话,存就成为瓶颈了,所有优化sql很重要的一点就是,减少逻辑读和物理读具体分析过程 * 在分析awr报告之前,首先要确定我们的系统是属于oltp,还是olap数据库在安装的时候,选择的时候,会有一个选项,是选择olt

6、p,还是olap对于不同的系统,性能指标的侧重点是不一样的,比方,library hit和buffer hit,在olap系统中几乎可以忽略这俩个性能指标,而在oltp系统中,这俩个指标就非常关键了 * 首先要看俩个时间 Elapsed: 240.00 (mins) 说明采样时间是240分钟,任何数据都要通过这个时间来衡量,离开了这个采样时间,任何数据都毫无疑义 DB Time: 92,537.95 (mins) 说明用户操作花费的时候,包括cpu时间喝等待时间,也许有人会觉得奇怪,为什么在采样的240分钟过程中,用户操作时间竟然有92537分钟呢,远远超过了采样时间,原因是awr报告是一个数

7、据的集合,比方在一分钟之,一个用户等待了30秒,则10个用户就等待了300秒,对于cpu的话,一个cpu处理了30秒,16个cpu就是4800秒,这些时间都是以累积的方式记录在awr报告中的。再看sessions,可以看出连接数非常多WORKLOAD REPOSITORY report for ICCI1314098396ICCI11YESHPGICCI1Begin Snap:267825-Dec-08 14:04:50241.5End Snap:268025-Dec-08 15:23:37261.5Elapsed:78.79 (mins)DB Time:11.05 (mins)DB Time

8、不包括Oracle后台进程消耗的时间。如果DB Time远远小于Elapsed时间,说明数据库比较空闲。db time= cpu time + wait time不包含空闲等待 非后台进程说白了就是db time就是记录的效劳器花在数据库运算(非后台进程)和等待(非空闲等待)上的时间DB time = cpu time + all of nonidle wait event time在79分钟里其间收集了3次快照数据,数据库耗时11分钟,RDA数据中显示系统有8个逻辑CPU4个物理CPU,平均每个CPU耗时1.4分钟,CPU利用率只有大约2%1.4/79。说明系统压力非常小。列出下面这两个来做

9、解释:Report A:Snap Id Snap Time Sessions Curs/Sess- - - -Begin Snap: 4610 24-Jul-08 22:00:54 68 19.1End Snap: 4612 24-Jul-08 23:00:25 17 1.7Elapsed: 59.51 (mins)DB Time: 466.37 (mins)Report B:Snap Id Snap Time Sessions Curs/Sess- - - -Begin Snap: 3098 13-Nov-07 21:00:37 39 13.6End Snap: 3102 13-Nov-07

10、 22:00:15 40 16.4Elapsed: 59.63 (mins)DB Time: 19.49 (mins)效劳器是AI*的系统,4个双核cpu,共8个核:/sbin bindprocessor -qThe available processors are: 0 1 2 3 4 5 6 7先说Report A,在snapshot间隔中,总共约60分钟,cpu就共有60*8=480分钟,DB time为466.37分钟,则:cpu花费了466.37分钟在处理Oralce非空闲等待和运算上(比方逻辑读)也就是说cpu有 466.37/480*100% 花费在处理Oracle的操作上,这还

11、不包括后台进程看Report B,总共约60分钟,cpu有 19.49/480*100% 花费在处理Oracle的操作上很显然,2中效劳器的平均负载很低。从awr report的Elapsed time和DB Time就能大概了解db的负载。可是对于批量系统,数据库的工作负载总是集中在一段时间。如果快照周期不在这一段时间,或者快照周期跨度太长而包含了大量的数据库空闲时间,所得出的分析结果是没有意义的。这也说明选择分析时间段很关键,要选择能够代表性能问题的时间段。Report SummaryCache Sizes Buffer Cache:3,344M3,344MStd Block Size:8

12、KShared Pool Size:704M704MLog Buffer:14,352K显示SGA中每个区域的大小在AMM改变它们之后,可用来与初始参数值比较。shared pool主要包括library cache和dictionary cache。library cache用来存储最近解析或编译后SQL、PL/SQL和Java classes等。library cache用来存储最近引用的数据字典。发生在library cache或dictionary cache的cache miss代价要比发生在buffer cache的代价高得多。因此shared pool的设置要确保最近使用的数据都

13、能被cache。Load ProfileRedo size:918,805.72775,912.72Logical reads:3,521.772,974.06Block changes:1,817.951,535.22Physical reads:68.2657.64Physical writes:362.59306.20User calls:326.69275.88Parses:38.6632.65Hard parses:0.030.03Sorts:0.610.51Logons:0.010.01E*ecutes:354.34299.23Transactions:1.18% Blocks c

14、hanged per Read:51.62Recursive Call %:51.72Rollback per transaction %:85.49Rows per Sort:*显示数据库负载概况,将之与基线数据比较才具有更多的意义,如果每秒或每事务的负载变化不大,说明应用运行比较稳定。单个的报告数据只说明应用的负载情况,绝大多数据并没有一个所谓正确的值,然而Logons大于每秒12个、Hard parses大于每秒100、全部parses超过每秒300说明可能有争用问题。Redo size:每秒产生的日志大小(单位字节),可标志数据变更频率, 数据库任务的繁重与否。Logical reads:每秒/每事务逻辑读的块数.平决每秒产生的逻辑读的block数。Logical Reads= Consistent Gets + DB Block Gets Block changes:每秒/每事务修改的块数Physical reads:每秒/每事务物理读的块数Physical writes:每秒/每事务物理写的块数User calls:每秒/每事务用户call次数Parses:SQL解析的次数.每秒解析次数,包括fast parse,soft parse和hard parse三种数量的综合。 软解析每秒超过300次意味着你

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

当前位置:首页 > 医学/心理学 > 基础医学

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