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

Oracle(81)如何生成AWR报告?

在Oracle数据库中,生成AWR(Automatic Workload Repository)报告可以帮助你分析数据库性能和识别潜在的性能瓶颈。以下是详细的步骤和代码,指导你如何生成AWR报告。

步骤一:确认AWR功能已启用

AWR功能通常在Oracle数据库中默认启用,但你可以通过以下查询确认:

SELECT * FROM dba_hist_wr_control;

查询结果应包含AWR的配置参数,如快照间隔和保留期等。

步骤二:生成AWR报告

Oracle提供了一个脚本awrrpt.sql,可以用来生成AWR报告。该脚本通常位于$ORACLE_HOME/rdbms/admin目录下。以下是生成AWR报告的详细步骤:

  1. 连接到数据库

    使用SQL*Plus或其他Oracle客户端工具连接到数据库。

    sqlplus / as sysdba
    
  2. 运行AWR报告脚本

    运行awrrpt.sql脚本。

    @?/rdbms/admin/awrrpt.sql
    
  3. 输入报告参数

    运行脚本后,系统会提示输入报告的参数。以下是一个示例运行过程:

    SQL> @?/rdbms/admin/awrrpt.sqlCurrent Instance
    ~~~~~~~~~~~~~~~~DB Id    DB Name      Inst Num Instance
    ----------- ------------ -------- ------------123456789 MYDB               1 mydbSpecify the Report Type
    ~~~~~~~~~~~~~~~~~~~~~~~
    Would you like an HTML report, or a plain text report?
    Enter 'html' for an HTML report, or 'text' for plain text
    Defaults to 'html'
    Enter value for report_type: htmlSpecify the number of days of snapshots to choose from
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Entering the number of days (n) will result in the most recent
    (n) days of snapshots being listed.  Pressing <return> without
    specifying a number lists all completed snapshots.
    Enter value for num_days: 1Listing the last day's Completed SnapshotsSnap
    Instance     DB Name      Snap Id    Snap Started    Level
    ------------ ------------ ---------  --------------- -----
    mydb         MYDB         1000       05-JUN-23 12:00    11001       05-JUN-23 13:00    1Specify the Begin and End Snapshot Ids
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Enter value for begin_snap: 1000
    Enter value for end_snap: 1001Specify the Report Name
    ~~~~~~~~~~~~~~~~~~~~~~~
    The default report file name is awrrpt_1_1000_1001.html.  To use this name,
    press <return> to continue, otherwise enter an alternative.
    Enter value for report_name: 
    
  4. 查看生成的AWR报告

    根据你选择的报告类型(HTML或文本),报告会保存到指定的文件中。你可以通过浏览器打开HTML报告,或者通过文本编辑器查看文本报告。

示例:生成AWR报告

以下是一个完整的示例,展示如何生成AWR报告并查看其内容。

-- 连接到数据库
sqlplus / as sysdba-- 运行AWR报告脚本
@?/rdbms/admin/awrrpt.sql-- 输入报告参数
-- 报告类型:html
-- 快照时间范围:选择最近一天的快照
-- 开始快照ID:1000
-- 结束快照ID:1001
-- 报告文件名:使用默认名称

脚本执行过程

SQL> @?/rdbms/admin/awrrpt.sqlCurrent Instance
~~~~~~~~~~~~~~~~DB Id    DB Name      Inst Num Instance
----------- ------------ -------- ------------123456789 MYDB               1 mydbSpecify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type: htmlSpecify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed.  Pressing <return> without
specifying a number lists all completed snapshots.
Enter value for num_days: 1Listing the last day's Completed SnapshotsSnap
Instance     DB Name      Snap Id    Snap Started    Level
------------ ------------ ---------  --------------- -----
mydb         MYDB         1000       05-JUN-23 12:00    11001       05-JUN-23 13:00    1Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 1000
Enter value for end_snap: 1001Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_1000_1001.html.  To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: 

查看AWR报告

生成的AWR报告会保存到指定的文件中,例如awrrpt_1_1000_1001.html。你可以通过浏览器打开HTML报告,查看详细的数据库性能信息。

总结

生成AWR报告是Oracle数据库性能调优的重要步骤。通过定期生成和分析AWR报告,你可以了解数据库的性能状况,识别性能瓶颈,并采取相应的优化措施。了解如何生成和查看AWR报告,对于数据库管理员(DBA)来说至关重要。

相关文章:

  • 链动 2+1 模式小程序 AI 智能名片商城源码培训邀约策略研究
  • Springsecurity 自定义AuthenticationManager
  • RocketMQ Dashboard
  • 【大数据】什么是数据中台?
  • 【HarmonyOS 4.0】基础组件
  • 海山数据库(He3DB)源码详解:He3DB-XLogWrite函数
  • 揭秘CAAC、AOPA、ALPA、ASFC和UTC无人机执照的差别及实用价值
  • MySQL的延迟复制
  • MySQL存储过程详细讲解和常见问题及性能优化
  • QT opencv(显示图片和视频)
  • 抢单源码修正版,带教程,自动抓取订单,十几种语言可自动切换
  • [数据集][目标检测]电力场景输电线防震锤检测数据集VOC+YOLO格式2721张2类别
  • 在AES加密中,设主密钥为“2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C”,试计算迭代第1轮使用的轮密钥。
  • 合合信息文档解析Coze插件发布,PDF转Markdown功能便捷集成
  • 云计算实训32——roles基本用法、使用剧本安装nginx、使用roles实现lnmp
  • JavaScript-如何实现克隆(clone)函数
  • 0x05 Python数据分析,Anaconda八斩刀
  • Angular6错误 Service: No provider for Renderer2
  • Golang-长连接-状态推送
  • JAVA 学习IO流
  • JavaScript设计模式与开发实践系列之策略模式
  • Linux中的硬链接与软链接
  • vuex 学习笔记 01
  • 工作手记之html2canvas使用概述
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 微信小程序填坑清单
  • 转载:[译] 内容加速黑科技趣谈
  • 自制字幕遮挡器
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (层次遍历)104. 二叉树的最大深度
  • (二开)Flink 修改源码拓展 SQL 语法
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (一)VirtualBox安装增强功能
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • *1 计算机基础和操作系统基础及几大协议
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET 中的轻量级线程安全
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • .net和php怎么连接,php和apache之间如何连接
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • //解决validator验证插件多个name相同只验证第一的问题
  • @html.ActionLink的几种参数格式
  • [1525]字符统计2 (哈希)SDUT
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——