当前位置: 首页 > ai >正文

awr报告生成

在Oracle数据库中执行 @?/rdbms/admin/awrrpt.sql 生成AWR报告的详细步骤


1. AWR报告简介

AWR(Automatic Workload Repository) 是Oracle数据库内置的性能诊断工具,用于收集、处理和维护数据库性能相关的历史数据。通过分析AWR报告,可以快速定位数据库的性能瓶颈(如高负载SQL、资源争用、I/O问题等)。


2. 执行前提条件
  • 权限要求:必须以具有 DBA 角色的用户(如 SYSSYSTEM)登录数据库。
  • AWR功能启用:默认情况下AWR已启用,快照每小时自动生成一次(保留8天)。
    • 检查AWR状态:
      SELECT * FROM DBA_HIST_WR_CONTROL;
      

3. 执行步骤详解
步骤1:登录数据库

使用 sqlplus 或客户端工具(如SQL Developer)以DBA用户登录目标数据库实例:

sqlplus / as sysdba
步骤2:执行 awrrpt.sql 脚本

在SQL*Plus中执行以下命令:

@?/rdbms/admin/awrrpt.sql
  • ? 的含义:表示Oracle的环境变量 ORACLE_HOME,自动解析为Oracle安装目录(如 /u01/app/oracle/product/11.2.0/dbhome_1)。
步骤3:选择报告类型

脚本会提示选择报告格式:

Enter value for report_type: html  -- 可选 html 或 text,默认html
步骤4:输入快照范围
  1. 查看可用快照
    脚本会列出最近的快照时间范围,例如:
    Snap Id    Snap Started          Snap Level
    ---------- ---------------------- ----------
    1000       2023-10-01 00:00:00    1
    1001       2023-10-01 01:00:00    1
    ...
    
  2. 输入起始和结束快照ID
    Enter value for num_days: 1       -- 查询最近1天的快照
    Enter value for begin_snap: 1000  -- 起始快照ID
    Enter value for end_snap: 1001    -- 结束快照ID
    
步骤5:指定输出文件路径

输入报告文件名(默认保存在 ORACLE_HOME/rdbms/admin 目录):

Enter value for report_name: /tmp/awr_report_1000_1001.html

4. 生成的AWR报告关键内容解读

生成的HTML或文本报告包含以下核心部分:

部分名称作用
Load Profile展示数据库负载(逻辑读、物理读、事务数等)。
Top 5 Timed Events显示耗时的等待事件(如 db file sequential readlatch: cache buffers chains)。
SQL Statistics列出高负载SQL(按执行时间、逻辑读、物理读排序)。
Instance Activity Stats统计数据库内部活动(如缓冲区命中率、锁存器争用)。
I/O and Memory分析I/O性能和内存使用(如SGA/PGA分配)。

5. 常见问题与解决方法
问题1:无法找到 awrrpt.sql 脚本
  • 原因ORACLE_HOME 路径错误或脚本缺失。
  • 解决
    1. 确认 ORACLE_HOME 环境变量正确:
      echo $ORACLE_HOME
      
    2. 手动定位脚本路径:
      @/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/awrrpt.sql
      
问题2:权限不足
  • 现象:执行时报错 ORA-00942: table or view does not exist
  • 解决:以 SYS AS SYSDBA 登录:
    sqlplus sys as sysdba
    
问题3:无可用快照
  • 原因:AWR未启用或保留策略导致历史快照被清除。
  • 解决
    1. 检查AWR配置:
      SELECT * FROM DBA_HIST_WR_CONTROL;
      
    2. 手动创建快照:
      EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
      

6. 自动化生成AWR报告(可选)

通过PL/SQL定期生成AWR报告:

BEGINDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();-- 生成报告并保存到文件DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(l_dbid      => <DBID>,l_inst_num  => <INSTANCE_NUMBER>,l_bid       => <BEGIN_SNAP>,l_eid       => <END_SNAP>,l_dir       => 'DIR_FOR_AWR',  -- 需预先创建目录对象l_file_name => 'awr_report.html');
END;
7. 参考文档
  • Oracle官方文档:AWR报告
  • AWR报告深度分析指南

通过以上步骤,您可以轻松生成并解读AWR报告,快速定位数据库性能问题。

http://www.xdnf.cn/news/9002.html

相关文章:

  • orm详解--查询执行
  • SiteMap Generator:免费、快速、强大的在线网站地图生成工具
  • 高电流测量新突破:借助铜进行温度补偿
  • Vue列表渲染
  • 两阶段法目标检测发展脉络
  • 多模态大模型前沿技术进展与应用实践
  • leetcode617.合并二叉树:迭代法中层序遍历与队列操作的深度解析
  • 右键打开 pycharm 右键 pycharm
  • 无法访问Docker官网,国内如何合规高效安装Docker软件
  • Python pytest的应用
  • IAM角色访问AWS RDS For MySQL
  • 本地依赖库的版本和库依赖的版本不一致如何解决?
  • Python 的开发效率真的比 Java 高吗
  • Qt 改变窗口显示透明度 + 光标显示形状的属性(4)
  • 52、C# 泛型 (Generics)
  • python33天打卡
  • 电路图识图基础知识-绘制的规则(五)
  • js-day2
  • Pow(x,n) 快速幂
  • 软件测试过程中如何定位BUG
  • JESD204B 协议介绍
  • 当前上下文中不存在名称“X509CertificateLoader”,编译.NET 9依赖
  • Django orm详解--工作流程
  • ACM Latex模板:合并添加作者和单位
  • 李沐动手深度学习(pycharm中运行笔记)——10.多层感知机+从零实现+简介实现
  • 鸿蒙OSUniApp 实现动态的 tab 切换效果#三方框架 #Uniapp
  • 《软件工程》第 4 章 - 需求获取
  • XBench:重塑AI能力评估范式,红杉中国如何定义下一代智能体度量标准?
  • RAGFlow源码安装操作过程
  • Android studio进阶开发(六)--如何用真机通过okhttp连接服务器