AWR(性能报告)

article/2025/9/24 13:48:27

本文章为网络笔记,看了warehouse老师的视频受益匪浅,更是感觉自己技术太过初级,特写了本笔记,方便以后反复学习!
如有任何不妥,请发邮件至102448567@qq.com删除文章!
关于warehouse:
http://blog.itpub.net/19602/viewspace-1059211/
11gR2视频第四版 7_07_AWR

awr:auto workload repository
v$sysstat
v$system_event

统计信息也好,等待事件也好,这些东西都是在内存中的自实例起来之后就是累积的,一旦机器有问题重启了,那么这些信息都没有了,Oracle9i开始定期往磁盘中写,在数据库中保留一段时间原来都在内存中,现在定期往磁盘上写,多长时间写一次、保留多长时间都是可以设置的,9i的时候把这种思想叫做statspack他只有text格式,10gAWRawrrepository Oracle提供了表,这些表属于sys但是放在sysaux表空间中
10g有三类表awr
11g有四类表awr
命名很有特点,这些都是table

wri(internal)

在这里插入图片描述

wrm(metadata)

在这里插入图片描述

wrh(history)

在这里插入图片描述
11g新增了

wrr$(replay)重演

在这里插入图片描述
引入了一个后台进程默认每隔一小时把统计信息从内存中往磁盘中写(做快照),AWR就是取任何两次快照(只要这个instance没有重启过)时间点之间,然后生成报告来判断有什么变化

SELECT *FROM v$bgprocessWHERE paddr <> '00';

40号进程辅助39号进程,只要是39号进程每隔一小时把统计信息做一个快照然后写到磁盘上
在这里插入图片描述
wri、wrm、wrh、wrr这四类都是基础表,一般从dba_hist开头的视图中查询

dba_hist_wr_control

下面是关于dba_hist_wr_control的定义,来源正是WRM$这类基础表
在这里插入图片描述
DBID就是v$database中的ID,默认是每一个小时(SNAP_INTERVAL)做一个快照,保留8(RETENTION)
在这里插入图片描述
AWR这些功能Oracle都是调用的一个包
在这里插入图片描述
通过上图的包中的存储过程modify_snapshot_settings就可以更改多久打一次快照和保留多长时间
在这里插入图片描述

SQL> exec dbms_workload_repository.modify_snapshot_settings(retention=>14400,interval=>30);PL/SQL procedure successfully completed.

已经更改了
在这里插入图片描述
下图记录的就是Oracle打的快照,一次快照记录了一批统计信息,统计信息又包含了一批数据
在这里插入图片描述
比如说跟文件相关的统计信息就记录到了下面的这个视图中,当快照id16222的时候,记录了8个数据文件的信息,物理读了多少次,物理写了多少次,读的耗时,写的耗时等等
在这里插入图片描述
手动创建快照
现在最大是97号快照

SELECT *FROM dba_hist_snapshotORDER BY snap_id DESC

在这里插入图片描述
手动创建

SQL> exec dbms_workload_repository.create_snapshot;PL/SQL procedure successfully completed.

现在变成了98

SELECT *FROM dba_hist_snapshotORDER BY snap_id DESC

在这里插入图片描述
生成AWR脚本的路径$ORACLE_HOME/rdbms/admin/awrrpt.sql,这个目录下有很多AWR开头的脚本,这些都是awrrpt.sql调用的,所以只要记住awrrpt.sql就可以了
9istatspackAWR最大的区别就是DB TIME

说明DB TIME的实验:
session1

SQL> select *from tt;ID NAME 		       AGE
---------- -------------------- ----------1 aaa				202 bbb				203 ccc				204 d				205 e				20SQL> update tt set name = 'a' where id = 1;1 row updated.

session2

SQL> conn xiha/xiha
Connected.
SQL> update tt set age = 30 where id = 1;
一直在等待

10session被阻塞了
在这里插入图片描述
是被138session阻塞的
在这里插入图片描述

SELECT *FROM v$sessionWHERE sid in (10,138)

在这里插入图片描述
v$sql中可以看到执行sql消耗的CPU时间(CPU TIME)和执行时间(elapsed_time )单位是微秒(一秒的一百万分之一)

SELECT *FROM v$sqlWHERE sql_text like 'update tt set%'

在这里插入图片描述
上面这一条sql就是一直在等待的sql,他的elapsed_time还在不断增加,下面的sql不会增加了,执行完了但是没有提交
在这里插入图片描述
Oracle中有一个公式service time或者叫response time=cpu time+wait time
也就是说执行一条sql语句的时间等于cpu时间加上等待的时间
也就是v$sql中的elapsed_time=cpu time+wait time
上图中第一条sqlelapsed_time远远大于cpu time并且还在不断地增加,说明这条sql根本没有执行,一直在等待行级锁,他现在的cpu timesql语句解析消耗的cpu time
第二条sqlelapsed_time等于cpu time并且不再增加了,说明这个执行了完了而且几乎没有等待
DB TIME:所有活动session的总的时间(不算后台进程的),上图中的第一条sql也是所有非后台进程session中的一个,他就给db time增加了很多的时间,等待时间很长意味着执行效率很差,优化就是要降低DB TIME,要么降低wait time要么降低cpu time


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

相关文章

AWR2243

TDA2xx-AWRx243 TI毫米波板&#xff08;代完善更新和作者的继续研究&#xff09; 1、安装mmwave studio和驱动&#xff08;链接&#xff1a; https://download.csdn.net/download/weixin_42501561/19775644 &#xff09; 2、设置网络端口IP地址&#xff08;如果不能更改路由器I…

awr报告

某客户反馈数据库慢&#xff0c;给到一份awr报告。分析如下 每个cpu可用处理时间3501.6s(59.86min)&#xff0c;系统负载为&#xff1a;511(59.86*16)50%,其中16为CPUs direct path read最高&#xff0c;可能有下面三种原因&#xff1a; parallel query大量disk排序table预读取…

awr清理

Oracle并没有真正进行删除AWR报告信息&#xff0c;查询metalink发现是Oracle的bug&#xff0c; Bug 8622802描述了这个问题&#xff0c; 修复版本&#xff1a; #禁用awr报告 EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(INTERVAL > 0); select * from WRM$_SN…

AWR

AWR自动工作量资料档案库: AWR用于收集关于该特定数据库的操作统计信息和其他统计信息&#xff0c;oracle以固定的时间间隔&#xff08;默认60分钟&#xff09;为其所有重要统计信息和负载信息执行一次快照&#xff0c;并将这些快照存储在AWR中。这些信息在AWR中保留给定的时间…

达梦 awr

AWR 全称为自动工作集负载信息库&#xff08;Automatic Workload Repository&#xff09; ,采集数据库的性能相关数据,用来分析数据库性能问题,方便调优工作。 达梦中 awr 功能默认是关闭的,另外 mpp 集群不支持 awr 开启 AWR 功能 检查 awr 开启状态 达梦提供了 SF_CHECK_AW…

ORACLE调优深入理解AWR报告

什么是AWR? 一堆历史性能数据&#xff0c;放在sysaux表空间上&#xff0c;AWR和sysaux都是10g出现的&#xff0c;是oracle调优的关键特性。 默认快照间隔1小时&#xff1b;10g保存7天&#xff1b;11g保存8天&#xff1b; 可以通过DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SE…

AWR射频仿真基本操作(一)

这里只讲述一个基本的操作&#xff1a; 软件是AWR 14版本 新建工程 File–New project 然后File-project as 即另存为新建一个工程&#xff0c;自己取好名字。 设置基本参量 AWR可以直接进行仿真频率和单位之类的基本设置。 如果你只需要基本的S参数仿真&#xff0c;那么…

理论实践:循序渐进理解AWR细致入微分析性能报告

理论实践&#xff1a;循序渐进理解AWR细致入微分析性能报告 黄凯耀 (Kaya) ACOUG核心会员&#xff0c;高级技术专家 曾经工作于Oracle Real World Database Performance Group&#xff0c;一个隶属于Oracle公司总部数据库产品管理的核心团队。大学及研究生时期专注于Linux应用开…

AWR概念原理涉及表和包

一&#xff1a;AWR概念 Oracle10g以后&#xff0c;Oracle提供了一个性能检测的工具&#xff1a;AWR&#xff08;Automatic Workload Repository 自动工作负载库&#xff09;这个工具可以自动采集Oracle运行中的负载信息&#xff0c;并生成与性能相关的统计数据。我们可以根据这…

三种编码方式(费诺曼编码,霍夫曼编码,哈夫曼树编码)的简单解释和介绍

一. 费诺曼(Fano)编码是一种前缀编码&#xff0c;其基本原理是将出现频率较高的符号用短的编码表示&#xff0c;而出现频率较低的符号则用长的编码表示。通过这种方式进行编码&#xff0c;可以达到更好的压缩效果。 费诺曼编码的具体过程如下&#xff1a; 将要编码的符号按照…

霍夫曼编码及解码(简单实现)

霍夫曼树 霍夫曼树又称最优二叉树&#xff0c;是一种带权路径长度最短的二叉树。 所谓树的带权路径长度&#xff0c;就是树中所有的叶结点的权值乘上其到根结点的路径长度&#xff08;若根结点为0层&#xff0c;叶结点到根结点的路径长度为叶结点的层数&#xff09;。 树的路…

霍夫曼树和霍夫曼编码原理

一、哈夫曼树的概念和定义 什么是哈夫曼树&#xff1f; 让我们先举一个例子。 判定树&#xff1a; 在很多问题的处理过程中&#xff0c;需要进行大量的条件判断&#xff0c;这些判断结构的设计直接影响着程序的执行效率。例如&#xff0c;编制一个程序&#xff0c;将百分制转换…

学习笔记--霍夫曼树与霍夫曼编码解码

先摘一下百科的说法 “哈夫曼编码(Huffman Coding)&#xff0c;又称霍夫曼编码&#xff0c;是一种编码方式&#xff0c;哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法&#xff0c;该方法完全依据字符出现概率来构造异字头的平均长度最短的码字&#x…

霍夫曼编码的matlab实现

霍夫曼编码的原理已经有很优秀的介绍博客了&#xff0c;给出现频率高的灰度级分配更短的码字无非就是利用数学中逆序乘积和最小的原理&#xff0c;具体的原理介绍我就不再赘述了。这里给大家分享一下我个人早先实现的霍夫曼编码matlab程序。废话不多说&#xff0c;直接上代码&a…

霍夫曼树和霍夫曼编码以及霍夫曼编码的应用

文章目录 霍夫曼树介绍1.1霍夫曼树的定义1.2霍夫曼树的几个概念1.3构建霍夫曼树的过程1.4代码实现霍夫曼树 霍夫曼编码介绍什么是霍夫曼编码通信领域的应用 字符串压缩1.构造霍夫曼树2.生成赫夫曼树对应的赫夫曼编码表3.通过生成的赫夫曼编码表&#xff0c;返回一个赫夫曼编码 …

霍夫曼编码判断

霍夫曼编码判断 (算法学习) 霍夫曼编码一定是前缀编码&#xff0c;即&#xff0c;没有任何一个编码是另一个编码的前缀。 此外&#xff0c;还需要明白霍夫曼编码构建的树中只有度为0和2的结点&#xff0c;不存在度为1的结点。这与玩全二叉树是不一样的概念&#xff0c;玩全二…

霍夫曼编码和LZ编码

文章目录 一、霍夫曼编码1.概念及编码步骤2.霍夫曼编码例题分析 二、LZ编码1.概念及编码步骤2.LZ编码例题分析 一、霍夫曼编码 1.概念及编码步骤 霍夫曼编码是定长到变长编码&#xff0c;其概率高的符号映射成较短的二进制序列&#xff0c;概率低的符号映射成较长的二进制序列…

[基础知识] 霍夫曼编码

来源&#xff1a;Reducible内容整理&#xff1a;张志宇该视频详细讲解了霍夫曼编码提出的思路历程。 目录 故事背景思路历程 通信系统示意衡量信息量编码和熵的关系香农-冯诺编码霍夫曼的改进 故事背景 1951 年&#xff0c;麻省理工学院的一名研究生 David Huffman 在 Robert F…

数据结构【二】:霍夫曼编码

霍夫曼编码&#xff08;Huffman Coding&#xff09;是可变长编码&#xff08;VLC&#xff09;的一种。本质上使用变长编码表对源符号进行编码&#xff0c;通过评估源符号出现概率的方法进行分类&#xff0c;将出现几率较高的源字符使用较短的编码&#xff0c;出现几率较低的源字…

霍夫曼树——霍夫曼编码

霍夫曼编码 基本介绍 霍夫曼编码是一种编码方式&#xff0c;属于一种程序算法霍夫曼编码是霍夫曼树在通讯领域的经典应用之一霍夫曼编码广泛用于数据文件的压缩&#xff0c;压缩率通常在20% 到90%&#xff0c;通常数据的重复率越高&#xff0c;那么压缩率就越高霍夫曼编码是可…