在数据库运维过程中,大家都会利用数据库提供的各种工具来找到数据库存在的问题,以便对症实施配置优化,我是因工作需要,最近开始了解达梦数据库DM8的故障分析工具,这里发现AWR报告是一款不错的自带工具,故而把相关内容梳理出来,便于日后查阅回忆查阅。

一、配置AWR报告生成的步骤。

       AWR报告并不是默认开启的,因其对数据库服务器的性能是有较大影响的,所以只有在你需要的时候才开启,平时一般是没有开启的。同时为了帮助准确分析问题,建议选择性能影响最大的两个时间点间生成AWR报告,避免关键指标被平均 影响你对故障的分析,故而首先就是需要掌握如何生成报告,下面是报告的生成具体步骤。

1、初始化AWR快照包 。通过调用sp_init_awr_sys(1);  该存储过程完成初始化操作,其中参数值为1表示初始化 ,为0表示去掉初始化,即停止AWR报告生成。 初始化之后,可通过SELECT SF_CHECK_AWR_SYS; 快速查看状态,以验证初始化是否正常,1为正常(如下图)。

2、设置时间间隔。 AWR报告是需要通过不同时间节点进行对比分析来查找故障原因的,所以接下来设置时间间隔的方法是调用 dbms_workload_repository.awr_set_interval(10);这样的系统过程,其中10表示的是10分钟,系统默认是60分钟,你可以根据需要设置。

3、手动生成快照。可通过调用系统存储过程 dbms_workload_repository.create_snapshot();快照,若参数为空或设置为'TYPICAL' 表示仅刷新部分数据,若参数为'ALL'表示将全部历史数据保存下来,该值会影响快照生成数据的大小,一般参数为空就可以。

4、查看快照。 通过下面SQL语句可以查看系统生成快照情况,如下图所示 SELECT * from sys.WRM$_SNAPSHOT;

5、生成AWR报告。当快照有两份或多份的时候,就可以通过调下这个系统包生成awr报告。sys.awr_report_html(1,2,'/dmdbms','1.html');其中前两个参数表示开始和结束的快照ID号,即第4步查询到snap_id,第三个参数表示awr报告输出目录,第四参数是AWR报告文件名。同时该过程生成是HTML格式的报告,还可调用AWR_REPORT_TEXT生成TEXT格式的报告等,参数类似。 也可以用如下的函数直接在SQL中查看报告,但我比较喜欢第一种HTML格式, SELECT * FROM TABLE (DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(1,2))。

至此报告生成完成了,就可以调用call sp_init_awr_sys(0);过程,关闭快照生成,至此系统中的快照就会删除,第4步的查询快照就会报错了,但系统的性能会恢复正常,你就可以开始分析报告了。

二、对AWR报告进行分析

        AWR报告分析,涉及内容很多,是一个不断实践不断总结提升的过程,在此把一些常见的分析内容放在这里,随着工作经验的增加,可能这里的内容会越来越多,希望与有兴趣的同事交流提升。

1、数据库负载分析。在下图的指标项中,可分析数据库负载分析,即DB TIME/(Elapsed*CPUS)可了解数据库负责情况,一般认为大于80%时,表明数据库存在性能问题,此时需要分析TOP的等待事件,或SQL ORDER By Elapsed Time大量数据排序消耗时间。

2、硬解析分析。通过下图可查看到硬解析占比,正常业务系统中硬解析的数量一般应在10%以下,而且占比越少越好,否则就要分析SQL语句是否应该优化了。查看commit提交情况,若非常多可调整buffer区,工作线程量等,因commit提交太多,就是IO写太高,影响性能。

在下图中,可重点关注Non-Parse CPU和Execute to Parse两个指标,查看系统中SQL是否有优化空间,是否是硬解析太多,以便考虑优化SQL写法,具体如下:

  • Non-Parse CPU是表示 SQL实际运行时间/(SQL实际运行时间+SQL解析时间),若该值太低表示解析消耗时间过多,就需要对SQL进行优化,比如注意SQL使用参数化、变量绑定等,还有SQL写法是否可优化以提升SQL执行计划命中缓存等,否则太多时间在解析SQL是不利于系统性能的。
  • Execute to Parse是指SQL语句执行与分析比例,若SQL重用率高,则这个比例就高,该值越高表示解析后被重复执行的次数越多,这样就是我们所期望的,因执行是业务有效的使用,而不是在解析SQL。

3、其他相关内容分析

        正如前面看到的,还有一些内置的视图帮助我们查找问题,因实践经验不多,在此就只是列出来了,以后有具体应用在补充,同时也方便有需要时查找方便。

A、等待事件。通过可通过下面几个视图查看到系统当前状态下的等待事件情况,V$system_event,V$session_event,V$event_name,v$sessions。

B、内存。通过以下几个视图查看当前系统中内存使用情况: v$buffer,v$bufferpool,v$vpool,v$mem_pool 。

C、锁。通过v$lock系统视图查看当前系统中锁的情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/84619.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/84619.shtml
英文地址,请注明出处:http://en.pswp.cn/web/84619.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《企业司法风险监控系统架构设计:从数据采集到T+1实时预警的完整解决方案》

本文深入探讨了天远大数据在构建企业级司法风险监控平台和风险报告查询系统方面的技术实现与业务应用。平台依托权威、合法的司法数据源,通过实时数据处理与智能分析,为金融、供应链、人力资源等领域提供精准、及时的司法预警和决策支持。它通过灵活的多…

使用ccs生成bin

CCS12.6 编译生成BIN文件正确方法_ccs生成bin文件-CSDN博客

Kafka网络模块全链路源码深度剖析与设计哲学解读

在分布式消息系统的竞技场上,Kafka凭借卓越的高性能与高吞吐量脱颖而出,而其网络模块正是支撑这一卓越表现的核心引擎。从生产者将消息送入消息队列,到消费者从中拉取消息,Kafka网络模块贯穿消息流转的每个环节。本文不仅深入Kafk…

华为开发者大会6月20日举行

华为开发者大会2025(HDC 2025)将于6月20日至22日在深圳松山湖举办。 目前,华为开发者大会2025的详细日程已经公布,华为终端BG董事长余承东、华为终端BG首席执行官何刚、华为终端BG软件部总裁龚体等华为高管将出席并发表主题演讲&a…

`provide` 和 `inject` 组件通讯:实现跨组件层级通讯

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

MCP入门实战(Python版)

MCP介绍 MCP入门介绍 MCP 简介 - MCP 中文文档 MCP,全称是Model Context Protocol,模型上下文协议,由Claude母公司Anthropic于2024年11月正式提出。 从本质上来说,MCP是一种技术协议,一种智能体Agent开发过程中共同…

1、自然语言处理任务全流程

自然语言处理黄金九步法,葵花宝典,请珍藏心间 目录 需求分析:问题定义 1.文本分类任务 2.序列标注任务 3.文本生成任务 4.文本理解任务 5.信息抽取任务 6.文本匹配任务 7.多模态任务 一、数据获取 1、发现可用数据集 2、常用的数…

可编程密码学(Part 1)

1. 引言 当前密码学正处于一次代际转变之中,从special-purpose cryptography专用密码学过渡到programmable cryptography可编程密码学。 1)所谓“专用密码学”,指的是那些只能执行单个操作且具有密码学安全保证的协议。 公钥加密和签名方案…

Linux运维新人自用笔记(Ubuntu磁盘命名规则、新磁盘分区、主流文件系统类型、mkfs命令格式化文件系统、临时和永久挂载、挂载报错、dd指令)

内容全为个人理解和自查资料梳理,欢迎各位大神指点! 每天学习较为零散。 day21 一、磁盘维护流程 新硬盘(虚拟机可添加) 新硬盘需要做lvm管理 数据库迁移(夜间网站停机维护): 停止数据库监…

腾讯云轻量级服务器Ubuntu系统与可视化界面

以云服务器的方式搭建Linux workstation对比在电脑本地安装虚拟机的优势在于,不需要占用本地电脑资源空间,网络环境等相对稳定,可以用手机等轻量移动设备连接管理等。本文主要介绍使用腾讯云服务器,搭建Ubuntu Linux系统以及可视化…

如何在MacOS系统和Windows系统安装节点小宝远程工具

如何在MacOS系统和Windows系统安装节点小宝远程工具 摘要 本文讲述如何在MacOS系统和Windows系统安装节点小宝远程工具,并详细介绍了配置和使用远程控制的步骤。无论是在个人电脑还是手机、平板设备之间的远程连接,您都可以通过本教程轻松实现。 文章…

60天python训练营打卡day38

学习目标: 60天python训练营打卡 学习内容: DAY 38 Dataset和Dataloader类 知识点回顾: 1.Dataset类的__getitem__和__len__方法(本质是python的特殊方法) 2.Dataloader类 3.minist手写数据集的了解 作业&#xff1a…

Python 邻接表详细实现指南

邻接表是图数据结构的一种高效表示方法,特别适合表示稀疏图。下面我将用 Python 详细讲解邻接表的多种实现方式、操作方法和实际应用。 一、邻接表基础概念 邻接表的核心思想是为图中的每个顶点维护一个列表,存储与该顶点直接相连的所有邻接顶点。 邻…

Nginx反向代理解决跨域问题详解

Nginx反向代理解决跨域问题详解 核心原理 Nginx反向代理解决跨域的核心思路是让客户端请求同域名下的接口,由Nginx将请求转发到目标服务器,从而规避浏览器的同源策略限制。 客户端(同源:www.domain.com)↓Nginx&…

单片机测ntc热敏电阻的几种方法

在单片机中测量NTC(负温度系数)热敏电阻的阻值,通常需要将其转换为电压或频率信号,再通过单片机进行采集和处理。以下是几种常见的方法及其详细说明: 1. 分压法(最常用)​​ ​​原理​​&…

一套基于粒子群优化(PSO)算法的天线波束扫描MATLAB实现方案

以下是一套基于粒子群优化(PSO)算法的天线波束扫描MATLAB实现方案,包含完整代码、数学原理和详细注释。该方案针对均匀线性阵列(ULA)的波束方向图优化,通过调整阵元相位实现主瓣指向目标方向并抑制旁瓣。 %% 天线波束扫描的PSO算法实现 % 作者:DeepSeek % 创建日期:20…

增量学习ASAP的源码剖析:如何实现人形的运动追踪和全身控制(核心涉及HumanoidVerse中的agents模块)

前言 过去一周,我司「七月在线」长沙分部的具身团队在机械臂和人形上并行发力 关于机械臂 一方面,在IL和VLA的路线下,先后采集了抓杯子、桌面收纳、插入耳机孔的数据,然后云端训-本地5090推理 二方面,在RL的路线下&a…

计算机网络学习笔记:应用层概述、动态主机配置协议DHCP

文章目录 一、应用层概述1.1、C/S架构1.2、P2P架构 二、动态主机配置协议DHCP2.1、DHCP发现报文2.2、DHCP提供报文2.3、DHCP请求报文2.4、DHCP确认报文2.5、DHCP的续约与终止 总结 一、应用层概述 应用层位于计算机网络结构的最上层,用于解决应用进程的交互以实现特…

为服务器SSH登录增加2FA验证

安装NTP模块并设置时区 安装NTP模块 一般的服务器NTP服务默认是不安装的,需要安装NTP模块【7】并启用。 运行以下指令检查你的NTP模块是否已启用,已启用则忽略安装NTP模块的内容 timedatectl 如果你的返回内容和以下图片一样,则表示NTP未…

AI大模型提示词工程研究报告:长度与效果的辩证分析

一、核心问题:提示词长度与模型性能的平衡 核心矛盾:提示词长度增加 → 信息丰富度↑ & 准确性↑ ↔ 计算成本↑ & 响应延迟↑ 二、详细机制分析 (一)长提示词的优势(实证数据支持) 案例类型短提…