电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

ORACLE-AWR报告结果分析--精选文档

67页
  • 卖家[上传人]:大米
  • 文档编号:490414358
  • 上传时间:2023-11-22
  • 文档格式:DOC
  • 文档大小:1.85MB
  • / 67 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、ORACLE-AWR报告结果分析AWR 是 Oracle 10g版本推出的新特性, 全称叫AutomaticWorkloadRepository (自动负载信息库), AWR 是通过对比两次快,照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分。定义awr报告是oracle 10g下提供的一种性能收集和分析工具,它能提供一个时间段内整个系统资源使用情况的报告,通过这个报告,我们就可以了解一个系统的整个运行情况,这就像一个人全面的体检报告。 生成awr报告1:登陆对应的数据库服务器 2:找到oracle磁盘空间(d:oracleproduct10.2.0db_1RDBMSAdmin) 3:执行cmd-cd d:回车 4: cd d:oracleproduct10.2.0db_1RDBMSAdmin 回车 5:sqlplus 用户名/密码服务连接名(例:sqlplus carmot_esz_1/carmotigrp) 6:执行awrrpt.sql 回车 第一步输入类型: html 第二步输入天数: 天数自定义(如1,代表当天,如果2,代表今天和昨天。) 第三步输

      2、入开始值与结束值:(你可以看到上面列出的数据,snap值) 这个值输入开始,与结束 第四步输入导出表的名称:名称自定义 回车 第五步,由程序自动导完。 第六:到d:oracleproduct10.2.0db_1RDBMSAdmin 目录下。找到刚才生成的文件。 XXXX.LST文件 如何分析 * 在看awr报告的时候,我们并不需要知道所有性能指标的含义,就可以判断出问题的所在,这些性能指标其实代表了oracle内部实现,对oracle理解的越深,在看awr报告的时候,对数据库性能的判断也会越准确 * 在看性能指标的时候,心里先要明白,数据库出现性能问题,一般都在三个地方,io,内存,cpu,这三个又是息息相关的(ps:我们先假设这个三个地方都没有物理上的故障),当io负载增大时,肯定需要更多的内存来存放,同时也需要cpu花费更多的时间来过滤这些数据,相反,cpu时间花费多的话,有可能是解析sql语句,也可能是过滤太多的数据,到不一定是和io或内存有关系了 * 当我们把一条sql送到数据库去执行的时候,我们要知道,什么时候用到cpu,什么时候用到内存,什么时候用到io 1. cpu:解析

      3、sql语句,尝试多个执行计划,最后生成一个数据库认为是比较好的执行计划,不一定是最优的,因为关联表太多的时候,数据库并不会穷举所有的执行计划,这会消耗太多的时间,oracle怎么就知道这条数据时你要,另一个就不是你要的呢,这是需要cpu来过滤的 2. 内存:sql语句和执行计划都需要在内存保留一段时间,还有取到的数据,根据lru算法也会尽量在内存中保留,在执行sql语句过程中,各种表之间的连接,排序等操作也要占用内存 3. io:如果需要的数据在内存中没有,则需要到磁盘中去取,就会用到物理io了,还有表之间的连接数据太多,以及排序等操作内存放不下的时候,也需要用到临时表空间,也就用到物理io了 这里有一点说明的是,虽然oracle占用了8G的内存,但pga一般只占8G的20%,对于专用服务器模式,每次执行sql语句,表数据的运算等操作,都在pga中进行的,也就是说只能用1.6G左右的内存,如果多个用户都执行 多表关联,而且表数据又多,再加上关联不当的话,内存就成为瓶颈了,所有优化sql很重要的一点就是,减少逻辑读和物理读具体分析过程 * 在分析awr报告之前,首先要确定我们的系统是属于

      4、oltp,还是olap(数据库在安装的时候,选择的时候,会有一个选项,是选择oltp,还是olap) 对于不同的系统,性能指标的侧重点是不一样的,比如,library hit和buffer hit,在olap系统中几乎可以忽略这俩个性能指标,而在oltp系统中,这俩个指标就非常关键了 * 首先要看俩个时间 Elapsed: 240.00 (mins) 表明采样时间是240分钟,任何数据都要通过这个时间来衡量,离开了这个采样时间,任何数据都毫无疑义 DB Time: 92,537.95 (mins) 表明用户操作花费的时候,包括cpu时间喝等待时间,也许有人会觉得奇怪,为什么在采样的240分钟过程中,用户操作时间竟然有92537分钟呢,远远超过了 采样时间,原因是awr报告是一个数据的集合,比如在一分钟之内,一个用户等待了30秒,那么10个用户就等待了300秒,对于cpu的话,一个cpu处理了30秒,16个cpu就是4800秒,这些时间都是以累积的方式记录在awr报告中的。 再看sessions,可以看出连接数非常多 WORKLOAD REPOSITORY report for ICCI

      5、1314098396ICCI1110.2.0.3.0YESHPGICCI1Begin 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不包括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个逻辑CPU(4个物理CPU),平均每个CPU耗时1.4分钟,CPU利用率只有大约2%(1.4/79)。说明系统压力非常小。列出下面这两个来做解释:Report A:Snap Id Snap Time Se

      6、ssions 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 22:00:15 40 16.4Elapsed: 59.63 (mins)DB Time: 19.49 (mins)服务器是AIX的系统,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分钟

      7、在处理Oralce非空闲等待和运算上(比方逻辑读)也就是说cpu有 466.37/480*100% 花费在处理Oracle的操作上,这还不包括后台进程看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:8KShared Pool Size:704M704MLog Buffer:14,352K显示SGA中每个区域的大小(在AMM改变它们之后),可用来与初始参数值比较。shared pool主要包括library cache和dictionary cache。li

      8、brary cache用来存储最近解析(或编译)后SQL、PL/SQL和Java classes等。library cache用来存储最近引用的数据字典。发生在library cache或dictionary cache的cache miss代价要比发生在buffer cache的代价高得多。因此shared pool的设置要确保最近使用的数据都能被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.01Executes:354.34299.23Transactions:1.18% Blocks changed 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:每秒/每事务物

      《ORACLE-AWR报告结果分析--精选文档》由会员大米分享,可在线阅读,更多相关《ORACLE-AWR报告结果分析--精选文档》请在金锄头文库上搜索。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.