Oracle19C AWR报告分析之Instance Efficiency Percentages (Target 100%)
Oracle19C AWR报告分析之Instance Efficiency Percentages
- 一、分析数据
- 二、详细分析
- 2.1 Instance Efficiency Percentages (Target 100%)各项指标及其解释
- 2.2 分析和总结
一、分析数据
二、详细分析
在 Oracle AWR (Automatic Workload Repository) 报告中,每个性能指标反映了数据库的不同方面。以下是你提供的指标的详细解释,并对数据库性能进行分析:
2.1 Instance Efficiency Percentages (Target 100%)各项指标及其解释
Buffer Nowait %
: 100.00
- 含义:表示数据库缓存(Buffer Cache)中没有等待(即数据块已经存在于缓存中,查询时不需要等待I/O)。
- 理想值:100% 是理想的,因为它意味着所有的请求数据块都在内存中,可以立即访问。
- 分析:100% 表示数据库的缓存命中率非常好,没有因等待缓冲区块而导致的性能瓶颈。如果你的
Buffer Hit %
较高(99.96%),说明大部分的I/O请求都能够直接从内存中获得数据,这对于数据库性能是非常有利的。
Redo NoWait %
: 100.00
- 含义:表示在日志写入过程中没有等待操作。Redo 是用于事务恢复的日志,
Redo NoWait
表示数据库成功将日志写入而没有发生 I/O 等待。 - 理想值:100% 表示没有 redo 日志写入的等待,这通常意味着日志写入操作非常快,系统的 I/O 操作非常高效。
- 分析:100% 是理想的,说明 redo 日志写入非常顺畅,不会产生瓶颈。对于高事务量的系统,能保持 100% 是一个非常好的性能指标。
Buffer Hit %
: 99.96
- 含义:表示数据库缓存(
Buffer Cache
)的命中率,指的是数据库读取请求是否从内存中而非磁盘中获取数据的比例。99.96% 的值表示非常高的命中率,意味着大部分数据都从内存中读取。 - 理想值:越高越好,通常如果超过 90% 就是一个好的指标,接近 100% 是最佳情况。
- 分析:99.96% 的值非常接近 100%,这表示数据库缓存配置和管理非常好,几乎所有的查询操作都能直接从内存中获取数据,减少了磁盘I/O,从而提高了查询效率。
In-memory Sort %
: 100.00
- 含义:表示数据库在执行排序操作时,是否将所有排序操作保存在内存中而不需要写入磁盘。100% 表示所有排序都在内存中完成,没有触发磁盘排序。
- 理想值:100% 是理想值,表示没有执行磁盘排序。通常如果数据库内存配置充足,能够避免磁盘排序。
- 分析:这意味着所有的排序操作都可以在内存中处理,减少了磁盘I/O,提升了查询性能。
Library Hit %
: 99.89
- 含义:表示数据库库缓存的命中率,即 SQL 语句是否可以从库缓存中获取,而不需要重新解析。99.89% 的命中率非常高,表示大部分 SQL 语句都能够从库缓存中找到。
- 理想值:高值越好,通常达到 95% 以上即为良好。
- 分析:99.89% 的命中率说明大多数 SQL 查询都是“软解析”(soft parse),即数据库可以通过库缓存找到已有的执行计划,避免重新解析,提高了性能。
Soft Parse %
: 99.85
- 含义:表示 SQL 语句解析的比例,软解析是指语句已经在库缓存中找到执行计划,数据库不需要重新解析。
- 理想值:越高越好,接近 100% 是理想情况。
- 分析:99.85% 的值表示绝大部分 SQL 查询不需要重新解析,而是直接重用已有的执行计划,这减少了 SQL 解析的 CPU 和时间消耗。
Execute to Parse %
: 5.43
- 含义:表示 SQL 语句执行时间占解析时间的比例。值较低通常意味着 SQL 语句的解析花费了大量时间,而执行时间相对较短。
- 理想值:高执行时间比低解析时间要好,通常希望这个比例接近 100%,意味着 SQL 语句的执行比解析耗时多。
- 分析:5.43% 的值相对较低,这可能表示 SQL 语句的解析过程较为昂贵。这个值较低可能是由于某些 SQL 语句需要频繁的硬解析,或者有些查询的执行计划需要频繁重新计算。可以考虑查看这些语句的执行计划,查看是否能优化它们。
Latch Hit %
: 99.93
- 含义:表示数据库中的
latch
(内存同步原语)命中率。latch 是 Oracle 用于保护共享内存的同步机制,99.93% 表示大多数的 latch 请求都能立即满足。 - 理想值:高命中率表示较少的竞争和等待。
- 分析:99.93% 的值非常好,表示数据库内存同步的效率非常高,没有过多的竞争和等待。
Parse CPU to Parse Elapsd %
: 57.73
- 含义:表示解析过程中 CPU 时间与解析总时间的比例。57.73% 的值意味着解析过程中一半以上的时间都花在了 CPU 处理上。
- 理想值:较高的比例意味着解析过程效率较高,但如果 CPU 占比过高,可能会表示解析过程中 CPU 资源紧张。
- 分析:57.73% 的值较高,这表明 SQL 解析过程中 CPU 时间占比较大,可能是因为复杂的 SQL 语句或者优化器需要较长的时间来选择最佳执行计划。可能需要检查是否有过于复杂的查询导致 CPU 使用过高。
% Non-Parse CPU
: 99.34
- 含义:表示数据库在非解析阶段(如执行、I/O 等)消耗的 CPU 时间比例。99.34% 的值表示大部分 CPU 时间用于执行查询,而非解析。
- 理想值:高值意味着数据库的 CPU 使用主要集中在查询执行上,而不是解析阶段。
- 分析:99.34% 的高值表明大部分 CPU 资源用于实际的查询执行过程,而不是在解析过程中消耗,意味着查询执行优化较好。
Flash Cache Hit %
: 0.00
- 含义:表示闪存缓存的命中率。闪存缓存通常用于存储频繁访问的数据,提升 I/O 性能。0.00% 的值表示没有利用闪存缓存。
- 理想值:高命中率较为理想,尤其在有使用闪存存储的环境中。
- 分析:0.00% 表示没有利用闪存缓存。这可能是因为没有启用闪存缓存,或者闪存缓存的设置不充分。可以考虑配置和优化闪存缓存的使用,以提升 I/O 性能。
2.2 分析和总结
-
总体性能:从这些指标来看,数据库的性能总体上非常好,缓存命中率高(如
Buffer Hit %
99.96%、Library Hit %
99.89%),数据库没有明显的 I/O 等待,且大部分的操作(如排序、查询)都在内存中完成。 -
潜在瓶颈
Execute to Parse %
值较低,表明可能存在 SQL 语句解析的开销较大,可能是由于过多的硬解析或复杂查询,建议优化 SQL 查询,减少硬解析。Flash Cache Hit %
为 0,可能意味着没有启用闪存缓存或闪存缓存配置不当,建议检查配置和使用情况,启用并优化闪存缓存以提升性能。Parse CPU to Parse Elapsd %
较高,可能是由于解析过程中 CPU 使用较多,可能需要审查 SQL 的复杂性或考虑对查询进行优化。
总的来说,虽然数据库的缓存和日志操作都非常高效,但仍然有一些细节可以优化,特别是在 SQL 解析方面,以及是否充分利用闪存缓存来提升 I/O 性能。
注:此分析只针对这一部分的参数指标进行分析,不包括整体的分析,需根据不同参数指标,对AWR进行全局性分析,从而更深入地诊断数据库性能问题,优化数据库性能。
相关文章:

Oracle19C AWR报告分析之Instance Efficiency Percentages (Target 100%)
Oracle19C AWR报告分析之Instance Efficiency Percentages 一、分析数据二、详细分析2.1 Instance Efficiency Percentages (Target 100%)各项指标及其解释2.2 分析和总结 一、分析数据 二、详细分析 在 Oracle AWR (Automatic Workload Repository) 报告中,每个性能…...

数据结构--数组
一.线性和非线性 线性:除首尾外只有一个唯一的前驱和后继。eg:数组,链表等。 非线性:不是线性的就是非线性。 二.数组是什么? 数组是一个固定长度的存储相同数据类型的数据结构,数组中的元素被存储在一…...
nrm的安装及使用
nrm的安装及使用 NRM(NPM Registry Manager)是一个用于快速切换npm(Node Package Manager)源的工具。npm是Node.js的包管理工具,用于安装、发布、管理Node.js包。由于网络原因,直接使用npm官方源ÿ…...

【MatLab手记】 --从0到了解超超超详过程!!!
文章目录 MatLab笔记一、命令行窗口二、变量命名规则三、数据类型1. 数字2. 字符与字符串3. 矩阵3.1 矩阵创建3.2 矩阵的修改和删除3.3 矩阵的拼接与重构重排3.4 矩阵的运算方法3.5 矩阵的下标 4. 元胞数组(类似数据容器)5. 结构体 四、逻辑与流程控制五…...

从零创建vue+elementui+sass+three.js项目
初始化: vue init webpack projectnamecd projectnamenpm install支持sass: npm install sass --save-dev npm install sass-loader7.1.0 --save-dev npm install node-sass4.12.0 --save-devbuild/webpack.base.conf.js添加 rules: [...,{test: /\.scss$/,loade…...
Linux通过使用scp和sftp发送或拉取文件
在通过 telnet 登录到远程服务器之后,你无法直接使用 telnet 发送文件。telnet 是一个纯文本协议,不支持文件传输。要发送文件,你需要使用其他工具,如 scp 或 sftp。以下是使用这两种工具发送文件的方法: 使用 scp 发…...
Jtti:服务器总是自动重启怎么办?
服务器总是自动重启可能是由于多种原因引起的,包括硬件故障、软件问题、配置错误或环境因素。以下是一些常见原因和相应的解决方案: 1. 硬件问题 电源故障:电源供应不稳定或电源模块故障可能导致服务器重启。 解决方案:检查电源供…...

北京大学c++程序设计听课笔记101
基本概念 程序运行期间,每个函数都会占用一段连续的内存空间。而函数名就是该函数所占内存区域的起始地址(也称“入口地址”)。我们可以将函数的入口地址赋给一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以调用这个…...

一键生成本地SSL证书:打造HTTPS安全环境
一键生成本地SSL证书:打造HTTPS安全环境 日光下的寒林没有一丝杂质,空气里的冰冷仿佛来自故乡遥远的北国,带着一些相思,还有细微几至不可辨认的骆驼的铃声。–《心美,一切皆美》 在本地开发环境中启用 HTTPS 一直是许多…...

Unity类银河战士恶魔城学习总结(P124 CharacterStats UI玩家的UI)
【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了玩家属性栏,仓库,物品栏UI的制作 UI_StatSlot.cs 这个脚本是用来在Unity的UI上显示玩家属性…...
速盾:cdn 支持 php 吗?
在网络开发中,PHP 是一种广泛使用的服务器端脚本语言,用于创建动态网页和 web 应用程序。CDN(Content Delivery Network,内容分发网络)在内容分发方面具有强大的功能,那么它是否支持 PHP 呢? C…...
在linux中使用nload实时查看网卡流量
在Linux系统中,可以使用多种工具来查看网卡流量。以下是一些常用的命令行工具: ifconfig:这是最基本的网络接口查看命令,但在最新的Linux发行版中,ifconfig命令已经被ip命令替代。 ip:用来查看和操作路由…...

【JavaEE进阶】Spring 事务和事务传播机制
目录 1.事务回顾 1.1 什么是事务 1.2 为什么需要事务 1.3 事务的操作 2. Spring 中事务的实现 2.1 Spring 编程式事务(了解) 2.2 Spring声明式事务 Transactional 对比事务提交和回滚的日志 3. Transactional详解 3.1 rollbackFor 3.2 Transactional 注解什么时候会…...

Flink1.19编译并Standalone模式本地运行
1.首先下载源码 2.本地运行 新建local_conf和local_lib文件夹,并且将编译后的文件放入对应的目录 2.1 启动前参数配置 2.1.2 StandaloneSessionClusterEntrypoint启动参数修改 2.1.3 TaskManagerRunner启动参数修改 和StandaloneSessionClusterEntrypoint一样修改…...
gitlab-development-kit部署gitlab《二》
gitlab-development-kit部署gitlab《一》 环境 mac 12.7.4 xcode 14.2 gdk 0.2.16 gitlab-foss 13.7 QA xcode源码安装 # https://crifan.github.io/xcode_dev_summary/website/xcode_dev/install_xcode/ # https://xcodereleases.comopenssl1.1 源码安装 # https://open…...
Java面试之多线程并发篇(3)
前言 本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!SynchronizedMap和ConcurrentHashMap有什么区别?什么是线程安全?Thread类中的yield方法有什么作用?Java线程池中submit() 和 execute()方法有…...
任何使用 Keras 进行迁移学习
在前面的文章中,我们介绍了如何使用 Keras 构建和训练全连接神经网络(MLP)、卷积神经网络(CNN)和循环神经网络(RNN)。本文将带你深入学习如何使用 迁移学习(Transfer Learning&#…...

Mac 使用mac 原生工具将mp4视频文件提取其中的 mp3 音频文件
简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研 学习经验:扎实基础 + 多做笔…...
【SQL】一文速通SQL
SQL知识概念介绍 1. Relation Schema vs Relation Instance 简单而言,Relation Schema 是一个表,有变量还有数据类型 R (A1, A2, … , An) e.g. Student (sid: integer, name: string, login: string, addr: string, gender: char) Relation insta…...
【学习】【HTML】块级元素,行内元素,行内块级元素
块级元素 块级元素是 HTML 中一类重要的元素,它们在页面布局中占据整行空间,通常用于创建页面的主要结构组件。 常见的块级元素有哪些? <div>: 通用的容器元素,常用于创建布局块。<p>:段落元素…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...

【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...