AWR报告解读

article/2025/9/1 20:09:35

0 初步结论

① 数据库CPU资源不够,CPU使用率较高,造成CPU等待时间较长,可适当提升CPU资源;
② 数据库I/O资源消耗不太大,不存在IO瓶颈;
③ 可适当调大SGA空间(增加10G左右),PGA暂不需要调整;
④ sql_id=16dhat4ta7xs9,aw9ttz9acxbc3,d4ujh5yqt1fph三条SQL可以尝试进行优化存储过程。
⑤ 调整CPU资源后,再观察一下log file sync 等待事件是否还会很高,如果还高的话需要进一步跟进处理。

1 概览

1.1 数据库和实例的信息

在这里插入图片描述
分析结果如下:

版本:11.2.04
RAC:YES
平台:Linux
CPU:2 * 20 cores
内存:252.17GB

1.2 Sessions 和 Cursors/Session

Sessions:实例连接的会话数 -> 并发用户数量 -> 数据库类型

Cussors/Session:每个会话打开的cursor数量 -> 执行SQL的情况
在这里插入图片描述
在这里插入图片描述
分析结果:当前会话量不是特别多

  • Oracle 游标详解(cursor)

1.3 Elapsed 和 DB Time

系统负载和等待事件
在这里插入图片描述
DB Time : 累积方式记录,如1个CPU处理23.48,那么40个就是939.2分钟。(CPU执行时间+非空闲等待时间)
负载情况 :DB Time / (CPUs * Elapsed) = 1387.55 / (40 * 23.48) = 1397.55 / 939.2 = 148.8%

分析结果:说明当前数据负载较高

  • Oracle DB Time 解读

2 Load Profile

在这里插入图片描述

2.1 指标

Redo size: 每秒(每个事务)产生的redo量
Logical reads: 每秒(每个事务)产生的逻辑读(对应于物理读)
Block changes: 每秒(每个事务)改变的数据块数
Physical reads: 每秒(每个事务)产生的物理读
Physical writes: 每秒(每个事务)产生的物理写
User calls: 每秒(每个事务)用户的调用次数
Parses: 每秒(每个事务)分析次数
Hard parses: 每秒(每个事务)硬分析次数 (软 = 总 - 硬)
Sorts: 每秒(每个事务)排序次数
Logons: 每秒(每个事务)登录数据库次数
Executes: 每秒(每个事务)SQL的执行次数
Transactions: 每秒的事务数

2.2 IO

分析结果1:IO吞吐和IOPS都不是很大,对于一体机IO来说可以轻松应对
Physical read * 8K / 1024 = Read IO
Physical write * 8K / 1024 = Write IO
在这里插入图片描述
Redo Size = 76376287.0/1024/1024 = 72M
Logical reads = 1456187.0/1024/1024 = 1M
Block changes = 446,863.9
在这里插入图片描述

2.3 事务

分析结果2:每秒用户调用次数、解析次数、执行次数以及事务数都很高,初步判断数据库应该为交易型
在这里插入图片描述

  • OLTP vs OLAP

3 Top 10 Foreground Events by Total Wait Time

DB CPU严格来说不是等待事件,一般排第一
等待事件类型和常见等待事件
在这里插入图片描述
分析结果1:log file sync 等待事件排名第二,且比第三占比过多,猜测应该不太正常。

log file sync等待事件:当用户执行完事务(insert插入数据)执行commit命令后,Oracle后台LGWR进程需要redo log buffer -> online redo log files,写入后返回Commit complete。用户等待返回的这个过程过慢则会发生Log File Sync等待事件。

分析结果2:只有log file sync ,没有 log file parallel write,结合之前事务量过多判断,可能是cpu使用率较高、频繁提交或回滚等原因造成。

  • log file sync( 日志文件同步)

分析结果3:可以看到Commit十分频繁,建议使用批量批量提交。
在这里插入图片描述
进一步确定redo的大小和组数是否合适。

4 CPU负载、IO、Memory

在这里插入图片描述

分析结果1:系统平均负载呈现下降趋势,%Idle = 34.8 ,%WIO说明CPU等待IO占比较低,不存在IO瓶颈。

5 SQL Statistics

按照不同类型进行排序
在这里插入图片描述
在这里插入图片描述
采样间隔:23.48mins
在这里插入图片描述

5.1 SQL ordered by Elapsed Time

在这里插入图片描述
按照SQL的执行时间从长到短的排序,SQL只显示很小一部分,每条SQL语句都有一个SQL_ID,如果我们生成的AWR报告是HTML类型的,那么通过这些SQL_ID上的超级链接,可以在报告中直接定位到完整的SQL。
在这里插入图片描述
分析结果1:前三个加起来占整体的67.69%,通过SQL_ID超链接查看并且都是匿名块 begin … end。

  • Oracle BEGIN END
  • ORACLE存储过程

分析结果2:前三个CPU等待时间均很长,IO不是很长,说明IO不是瓶颈。
在这里插入图片描述

5.2 SQL ordered by CPU Time

在这里插入图片描述
分析结果1:前三个sql和CPU Time 一样,且前三占总体的77.8%。
在这里插入图片描述

5.3 SQL ordered by User I/O Wait Time

在这里插入图片描述
分析结果1:前面几个sql IO占比很高

5.4 SQL ordered by Gets

SQL获取的内存数据块的数量
在这里插入图片描述
孤立地看这些指标的大小是没有实际意义的,它们是一些相对的数值。比如,我们没有前面的信息做参考,只看这一部分排在第一位的SQL,认为它获取的内存块太多,会有性能问题,这是没有根据的,只要SQL没有长时间地等待,就不能说它有性能问题。我们必须首先确定存在性能问题的SQL,这些数值会给我们一些补充信息。

5.5 SQL ordered by Reads

出了SQL执行物理读的信息
在这里插入图片描述

5.6 SQL ordered by Physical Reads (UnOptimized)

在这里插入图片描述

5.7 SQL ordered by Executions

在这里插入图片描述
分析结果1:通过不同维度的sql排序我们可以发下,sql_id=16dhat4ta7xs9这条sql在Elapsed Time、CPU Time、User I/O Wait Time(第三)、Gets、Reads(第三)、Physical Reads (UnOptimized)(第三)、Executions(第五)排名均靠前,此外sql_id=aw9ttz9acxbc3和d4ujh5yqt1fph的sql也需要详细查看核对sql语句是否可以优化。

分析结果2:三个sql都是存储过程,需要进一步和开发人员核对。

6 内存

6.1 SGAnei

分析结果1:如果内存充裕的情况下可以适当再分配10G内存给SGA。并且调整到62G会达到一个瓶颈。

6.2 PGA

在这里插入图片描述
分析结果1:目前来看PGA大小不需要做调整

7 IO

7.1 IOStat by Function summary

在这里插入图片描述

7.2 IOStat by Filetype summary

在这里插入图片描述

7.3 IOStat by Function/Filetype summary

在这里插入图片描述

7.4 Tablespace IO Stats

在这里插入图片描述
问题1:为什么只有undotbs1 io这么高,其他undo一般呢???
问题2:TPCCTAB表空间I/O延迟很高吗?

7.5 File IO Stats

在这里插入图片描述

8 Time Model Statistics

在这里插入图片描述
分析结果1:sql execute elpased time 时间占主导,即时间耗用主要是在SQL执行上面,并且DB CPU 也占了很大一部分,说明需要增加CPU资源。

9 参考资料

  • Oracle Awr报告_awr报告解读_基础简要信息
  • 解读awr报告

http://chatgpt.dhexx.cn/article/EMBKCgfJ.shtml

相关文章

用sql统计vintage,滚动率,迁移率,逾期率

获取代码请移步:用sql统计vintage,滚动率,迁移率,逾期率

如何用R语言做Vintage分析

一、背景 Vintage一词源自葡萄酒业,意思是葡萄酒酿造年份。因为每年的天气、温度、湿度、病虫害等情况不同,而这些因素都会对葡萄酒的品质产生很大的影响,所以人们对葡萄酒以葡萄当年的采摘年份进行标识来加以品质区分。现在Vintage分析被广泛…

风控中必做的数据分析

大数据领域就没有不做数据分析的,大数据风控也不例外。 我的观点是风控和其他互联网业务都是互通的,本文介绍下风控中必做的数据分析,用以说明数据分析是一通百通的。 工欲善其事,必先利其器。先说下数据分析的工具。 分析工具…

Vintage、滚动率、迁移率的应用

更多风控建模、大数据分析等内容请关注公众号《bigdatafengkong》 BY 小石头 一、Vintage Vintage源于葡萄酒酿造,葡萄酒的品质会因葡萄生长的年份不同、气候不同而不同。Vintage分析是指评估不同年份的葡萄酒的品质随着窖藏时间的推移而发生的变化,并且…

窗口函数:vintage报表

0 前言 Vintage这个词原意是指酿造葡萄酒的酒窖。葡萄酒是讲究年份,哪年光景好,哪年光景不好,直接会影响到葡萄酒的品质。后来借用到信贷资产行业,指的是每个月贷款的资产质量情况,要直接跟每个相同时间段内的余额做比…

信贷风控中Vintage、滚动率、迁移率的理解

风控业务背景 信贷风险管理是一门艺术,更是一门科学。资产质量分析中常会涉及到三个理论: 账龄分析(Vintage Analysis):用以分析账户成熟期、变化规律等。滚动率分析(Roll Rate Analysis)&#…

风控ML[9] | Vintage和Roll Rate 分析的详解

我们说了好几期的风控建模了,也有不少的同学私信我说一般来说我们需要怎么确定Y值呢?,到底多坏的逾期表现的客户可以被我们定义为坏客户呢?今天这篇文章,就给大家介绍一个大家既熟悉又陌生的分析工具——Vintage Analy…

了解过Vintage的N种样式?

vintage的几种形式有没有兴趣了解下? 我们之前写的文章里就提到过一个资产分析报表里的vintage表,这个表是反映客群的账龄情况,如果不是很清楚请再戳进去:风控建模系列(六):催收评分卡卡跟贷前…

风控模型策略-知识全整理(一)

做了大概5年风控,中间做过甲方,做过乙方,做过模型,做过策略,做过数据分析,但是始终觉着不得风控精华,做的事情太多,有的东西也就很难深入,目前就是将这么几年的积累写下来…

vintage、滚动率等相关指标介绍

目录 1、vintage 方法简介 优势 五级分类的比较 2、滚动率 3、入催率 4、FPD 随着互联网金融的发展,对数据分析的需求越来越大。数据分析的目的其实是为了找到风险和收益的平衡点。高收益伴随着高风险,而低风险的回报又如同鸡肋。所以,…

对Vintage未表现数据的预测方法总结

这段时间在利用Vintage分析做借贷产品的放款损失率相关工作,来简单总结一下。 Vintage分析 前面说到,Vintage是资产质量分析的重要工具,主要是用来分析同一产品在不同时间放款的资产质量变化情况,从而反映该产品的客群质量和变化…

vintage+android相机,Vintage复古相机

Vintage复古相机是一款功能强大,非常好用的相机软件,这里有着丰富的复古滤镜可以自由选择,并且还可以直接在这里p图修图,各种效果可以提前预览,还可以一键生成保存,非常便捷!喜欢拍照的小伙伴不…

一文教你如何解读Vintage

当我们在观测资产最终损失和不同资产的风险差异时,经常会用到一个指标,那就是Vintage。 这个指标的计算和展示与大多数指标有所不同,因为所需要的数据信息并不单来源于某一个固定时间的切片数据,而是来源于历史多个时间节点的切片…

Vintage、滚动率、迁移率的应用(转载)

转载于:http://mp.weixin.qq.com/s?__bizMzIyNDk2MzQ1NQ&mid2247484124&idx1&sneec18c836806b8803845716195fae061&chksme807bcccdf7035da8b5ca7fe81f0a7e2185e2ed37b93eeea2dc992457e10781c0dfe6c27cb48&scene21#wechat_redirect 一、Vintag…

信贷风控中Vintage、滚动率、迁移率

风控业务背景 信贷风险管理是一门艺术,更是一门科学。资产质量分析中常会涉及到三个理论: 账龄分析(Vintage Analysis):用以分析账户成熟期、变化规律等。滚动率分析(Roll Rate Analysis)&…

Vintage分析和迁移率模型在信用卡业务中的应用

随着中国金融业对外开放程度的加大,国内信用卡产业的竞争愈演愈烈,信用卡市场营销的费用也越来越高.如何利用有限的营销资源为发卡机构创造最大利润,实现信用卡营销和风险的精细化管理已成为信用卡产业发展的热门话题.本文通过对国外商业银行在信用卡业务中常用的Vintage分析和…

业务相关--vintage

vintage整理 --------仅用于个人学习知识整理和sas/R语言/python代码整理 ####1 . 前言 Vintage表,将不同时间层面的顾客拉平到同一时间周期上进行比较,观察不同入口时间的顾客在不同生命周期上的表现。 vintage一般有三种用法: 1.横看&…

vintage分析 风控建模系列 01

vintage分析 风控建模系列 01 在工作中发现,目前没有一个很好的系列帖子对风控建模中的各项细节做讲解,本人为一个金融科技公司的风控算法建模师,希望在此将风控建模的知识成体系、有深度、易吸收地分享给大家 vintage分析价值 在一场完整…

使用R语言creditmodel包进行Vintage分析或留存率分析

1 什么是vintage分析? Vintage分析(账龄分析法)被广泛应用于信用卡及信贷行业,这个概念起源于葡萄酒,即不同年份出产的葡萄酒的品质有差异,那么不同时期开户或者放款的资产质量也有差异,其核心…

Vintage分析和迁移率模型在网贷行业的运用

Vintage 分析和迁移率模型在网贷行业的运用 网贷业务的核心竞争力来自收益与风险之间平衡点的把握,其收到消费理念、市场策略、市场消费环节影响,贯穿于产品设计、营销审批、授信、支用、还款、催收以及客户服务的全过程。风控偏好和市场竞争策略会导致不…