`

oracle AWR(Automatic Workload Repository)

 
阅读更多
Automatic Workload Repository(AWR)收集、处理和维护性能系统信息,为性能调优的问题检测提供了有力的帮助。

AWR收集和处理的统计信息包括:
1. 段的统计信息;
2. 时间模型统计信息(在v$sys_time_model和v$sess_time_model视图中查看);
3. 一些在v$sysstat和v$sesstat视图中收集的系统和会话的统计信息;
4. 系统中负载最高的一些sql语句,分别按执行时间、cpu时间、执行次数等标准来统计
5. ASH统计信息,包含近期会话活动的历史记录

若系统参数STATISTICS_LEVEL设置为TYPICAL或ALL将默认启用AWR来采集数据库统计信息。这个参数的默认值是TYPICAL,若将其设置为BASIC,将禁用很多oracle数据库功能,包括 AWR,但你仍可以通过DBMS_WORKLOAD_REPOSITORY包来手动获得AWR统计信息。但是,由于许多内存中的统计信息(比如段统计信息和内存顾问信息)会被禁用,快照中获得的统计信息可能不完整。

快照(snapshots)
快照是特定时间范围内的历史数据集合,再由ADDM进行性能比较。默认情况下,数据库每个小时产生一次快照,并将这些统计信息在工作量仓库中保留8天。你也可以手动创建快照,但这通常是不必要的。然后这些快照之间的信息将交给Automatic Database Diagnostic Monitor (ADDM) 进行分析。

AWR比较快照间信息的差异,然后获取对系统负载影响最大的一些sql语句,而不是获取所有sql语句,降低了统计的时间。

基线(Baselines)
基线包含了一个特定时间范围的性能数据,用来在性能问题发生时,与其他类似的时间段进行比较。基线中的快照会被自动AWR清除进程排除,并无限期保留。

oracle数据库中包含了三种类型的基线:
固定基线(Fixed Baselines)
固定基线相当于被指定的过去的一个固定的、连续的时间范围。在创建固定基线以前,要慎重考虑这个时间段,因为基线代表了一个理想状态的系统状态。之后,你可以用这个基线和其他基线或者某个时间范围内的快照来分析性能上的退化情况。

移动窗口基线(Moving Window Baseline)
移动窗口基线相当于AWR保留期间内存在的所有AWR数据。在使用自适应阈值时,这将很有用处,因为数据库可以使用AWR保留期间的所有AWR数据来计算出度量阈值。oracle数据库自动维护一个系统定义的移动窗口基线。系统定义的移动窗口基线的默认窗口大小等于当前AWR保留的时间,默认为8天。如果你要使用自适应阈值,可以考虑使用更大的移动窗口,例如30天,可以更精确地计算出阈值。你可以改变移动窗口的大小,这个值要等于或小于AWR保留天数。因此若你需要增大移动窗口的大小,首先需要增加AWR的保留时间。

基线模板(Baseline Templates)
你可以创建一个基线,作为未来一个时间连续的时间段可以使用的基线模板。有两种类型的基线模板:单一的和重复的。你可以为未来一个单独的连续时间段的基线创建单一基线模板。如果你要提前准备获取一个未来的时间段,这个技术会很有用处。例如,你安排好要在周末进行一个系统测试,并准备获取AWR数据,这种情况下,你可以创建一个单一基线模板,用以在测试时自动获取该时间范围内的数据。你也可以使用重复基线模板来创建或者删除一个重复的时间计划,当你想自动获取一个连续的时间范围,这将很有用。例如,你可能希望在一个月里的每周一早晨获取AWR数据,这种情况下,你可以创建一个重复基线模板来自动为每个周一创建基线,并且在设置了过期时间(例如一个月)后,自动删除过期的基线。

自适应阈值(Adaptive Thresholds)
自适应阈值可以帮你以最低的开销监控和检测出性能问题。自适应阈值能够从在移动窗口基线捕获到的度量值里得到的统计信息中,为系统度量自动设置警告和关键报警(warning and critical alert)的阈值。这些统计信息每周会重新生成,并可能由于系统性能随着时间变化改变,而产生新的阈值。

打个比方,很多数据库白天是一个OLTP系统,而到晚上需要执行一些批量进程(例如生成报表)。每个事务响应时间的性能度量对检测OLTP的性能退化问题在白天可能很有用,但是这个阈值常常对于批量工作来说会太低,而频繁触发报警。自适应阈值能检测到这样的工作量模式,并自动为白天和夜里设置不同的阈值。

自适应阈值的类型有两种:
最大值的百分比:阈值以最大值的百分比倍数的方式来计,
重要性级别:阈值被设为一个统计学中的百分位来观察基于移动窗口基线数据的阈值以上的值,来体现异常程度。百分位能指定为以下几种:高(0.95),100个中只有5个能超过这个值;非常高(0.99):100个中只有1个能超过这个值;严重的(0.999):1000个钟只有1个能超过这个值;极端的(0.9999):10000个钟只有1个能超过这个值。

当一个系统以高峰期工作量来设计的,并且你希望在当前工作量接近或超过先前的高值时触发报警,最大值百分比阈值将非常有用。例如,每秒产生redo量的度量就是个典型的例子。
重要性级别阈值在以下情况很有用:当系统运行正常时表现得很稳定,但当性能变差时可能会在一个大范围内波动。例如,每个事务的响应时间的度量在一个优化过的OLTP系统上将表现平稳,但当性能问题凸显时,可能会波动很大。采用重要性级别阈值,当环境产生不正常的度量值和系统性能时触发报警。

空间消耗(Space Consumption)
以下因素可以被用来判断AWR的空间消耗:在任一给定时间系统中的活动会话数;快照时间间隔,时间间隔越小,快照产生越频繁,增加AWR采集的数据的占用空间;历史数据保留时间

默认情况下,快照每小时捕获一次,并在数据库中保存8天。使用这些默认设置,一个典型的并发量为10个会话数的系统大约需要200-300M的空间来存放AWR数据。但是在降低保留时间的时间,请注意,若AWR中的数据不足,可能会影响一些组件和功能的准确性和精确度:ADDM、SQL Tuning Advisor、Undo Advisor、Segment Advisor。

可能的话,Oracle建议将AWR保留时间设得足够来,至少能捕获一个完整的工作量周期。当你的系统工作量周期为1周,比如工作日是OLTP的工作负荷,而在周末运行批量工作,则默认的8天保留时间不需要去修改。当如果你的系统的高峰期在每个月的月末,那么你可能需要将这个保留时间更改到1个月。

例外情况下,你可以将快照时间间隔改成0来关闭自动收集快照。在这种情况下,工作量和统计数据的自动收集将被停止,且许多Oracle数据库的自动管理功能将不能使用。另外,你不能手动创建快照,因此Oracle强烈建议不要关闭snapshot的自动收集。
分享到:
评论

相关推荐

    OracleAWR报告详细分析.pdf

    Oracle AWR(Automatic Workload Repository)报告详细分析是Oracle 10g版本推出的新特性,全称叫Automatic Workload Repository-自动负载信息库。AWR是通过对比两次快照(snapshot)收集到的统计信息,来生成报表...

    Oracle AWR 报告分析实例讲解

    Oracle AWR(Automatic Workload Repository)报告是Oracle数据库性能监控和优化的重要工具,它提供了详细的数据库性能信息,帮助管理员识别性能瓶颈。以下是对标题“Oracle AWR 报告分析实例讲解”及其描述中的知识...

    oracle awr分析报告详解

    Oracle AWR(Automatic Workload Repository)是Oracle 10g引入的一个重要性能分析工具,用于自动收集数据库的工作负载信息,并生成详细的性能分析报告,帮助DBA进行性能调优。AWR的设计目标是提供一个内置的、系统...

    oracle awr report 报告

    Oracle AWR报告是一种数据库性能分析工具,它全称为自动工作负载仓库报告(Automatic Workload Repository Reports)。AWR是Oracle数据库的一部分,能够自动收集、处理并保存重要的性能统计数据,并可生成报告来分析...

    oracle awr报告测试步骤

    Automatic Workload Repository-自动负载信息库 AWR 是通过对比两次快照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分

    oracle awr报告详解

    Oracle AWR(Automatic Workload Repository)报告是Oracle数据库性能监控的重要工具,自10g版本开始引入。AWR通过在两个连续快照之间收集系统和会话级别的统计信息,为DBA提供数据库性能的详细分析。它可以帮助识别...

    ORACLE AWR报告生成.docx

    Oracle AWR(Automatic Workload Repository)报告是Oracle数据库性能分析的重要工具,它收集并存储了数据库的性能数据,包括SQL语句、系统等待事件、I/O统计等,并提供了详细的性能报告,帮助DBA识别和解决性能问题...

    AWR 深入分析( Automatic Workload Repository )

    AWR(Automatic Workload Repository),是Oracle数据库10g版本引入的一项关键性能监控和分析工具。它的主要功能是收集并存储一段时间内的数据库工作负载信息,帮助DBA(数据库管理员)识别性能瓶颈和趋势,以便进行...

    oracle awr报告分析

    Oracle Automatic Workload Repository (AWR) 报告是一种用于诊断数据库性能问题的强大工具。通过分析这些报告中的数据,管理员能够了解数据库的工作负载特性、资源使用情况以及潜在的性能瓶颈。本次分析主要关注...

    oracle AWR性能分析详解

    Oracle AWR(Automatic Workload Repository)性能分析详解 AWR是Oracle数据库中的一个自动负载信息库,它通过收集数据库的统计信息,帮助DBA们分析并诊断数据库的性能问题。自从Oracle 10g版本起,AWR就成为了性能...

    Oracle AWR报告 解读

    AWR(Automatic Workload Repository)是Oracle数据库中一个重要的性能监控组件,它能够定期自动地收集、处理和存储数据库的统计信息,并生成报告以供分析。以下是关于Oracle AWR报告的详细知识点解读。 1. DBTime...

    Oracle AWR运行日志分析工具详解.docx

    Oracle AWR(Automatic Workload Repository)是一种自动化的工作负载信息库,用于记录和分析 Oracle 数据库的性能问题。在本文中,我们将详细介绍 AWR 的运行日志分析工具,并对其报告的关键部分进行讲解。 一、...

    ORACLE_AWR报告生成和分析.doc

    Oracle的Automatic Workload Repository(AWR)是数据库性能监控的关键工具,从10g版本开始引入。AWR存储了数据库最近一段时间(默认7天)的详细活动信息,这对于诊断和优化数据库性能至关重要。AWR报告是通过对AWR...

    AWR报告手动配置

    AWR(Automatic Workload Repository)是Oracle数据库内置的一种性能监控工具,它主要用于收集和存储关于数据库实例运行时的工作负载信息。通过这些数据,DBA可以对数据库性能进行深入分析,并找出潜在的性能瓶颈。 ...

    Oracle AWR报告深入分析

    本文档由notmain撰写,旨在深入探讨Oracle AWR(Automatic Workload Repository)报告的生成机制与内容解析,帮助Oracle数据库管理员和技术爱好者更好地理解和利用AWR报告进行性能分析与监控。当前网络上存在大量的...

    ORACLE AWR报告详解

    AWR 是 Oracle 10g 版本 推出的新特性, 全称叫Automatic Workload Repository-自动负载信息库, AWR 是通过对比两次快照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分

    如何分析Oracle AWR报告

    **Automatic Workload Repository**(AWR)是Oracle 10g版本中引入的一个重要功能,它能够存储数据库近期一段时间内的活动状态详情,通常默认存储周期为7天。AWR报告则是通过对AWR视图进行查询而自动生成的一份报告...

    Oracle 19c AWR和ASH特性实战指南

    内容概要:本文档详细介绍了 Oracle 19c 中 AWR(Automatic Workload Repository)和 ASH(Active Session History)的功能、管理和使用方法。主要内容包括 AWR 的基本概念、快照和基线的管理、AWR 报告的生成与提取...

Global site tag (gtag.js) - Google Analytics