管理自动工作负荷知识库

Oracle收集大量有关性能和活动的统计信息。这些信息在内存中积累,并定期写入数据库:写入到构成自动工作负荷知识库(Automatic Workload Repository,AWR)的表中。AWR作为SYSAUX表空间中的一组表和其他对象而存在。AWR与数据字典相关,但又与数据字典不同,因为AWR对于运行数据库而言并不是必需的。数据写入AWR,并存储一段时间,最终被最近的信息覆盖。

收集AWR统计信息

统计信息收集的级别由实例参数STATISTICS_LEVEL控制。可以将这个参数设置为BASIC、TYPICAL(默认设置)或ALL。TYPICAL级别允许收集正常调整所需的所有统计信息,同时不会收集对性能有不良影响的统计信息集合。BASIC级别几乎禁用收集所有统计信息,禁用所有性能调整顾问和服务器生产的警报系统——不存在可评估的运行时性能优势。ALL级别会收集与SQL语句执行相关的、机器详细的统计信息。如果进行高级的SQL语句调整,那么可以使用ALL级别,不过在收集统计信息时会导致性能稍有退化。

统计信息在内存中(也就是在SGA内的数据结构中)累积。因为统计信息只反映实例进行的操作,所以并不影响实例的性能。将统计信息定期地(默认为每小时一次)写入磁盘,也就是写入AWR。这称为一次AWR快照。将统计信息写入磁盘的操作由后台进程(可管理性能监视器MMON)完成。后台进程的使用对于统计信息收集进程的效率来说十分关键。MMON直接访问构成SGA的内存结构,从而也可以访问这些内存结构中的统计信息。这个进程可以在不需要通过会话执行SQL的情况下从SGA内提取数据。此时唯一的系统开销是将数据的快照实际写入AWR。默认方式是每60分钟保存一次,在重写前,快照会存储8天,这个周期是可配置的。

AWR是一组表,由SYS拥有,并且存在于SYSMAN表空间中。这些表不能被重新定位。Oracle仅支持以DBMS包的形式提供的各种API或者通过各种视图来访问AWR。

管理AWR

可以把一对快照标记为底线,明确地保存起来。底线快照不会自动清空。调整AWR设置来频繁保存快照,可以更准确地诊断问题。如果快照间隔数个小时,就可能错过活动高峰时刻。如果过于频繁,就会增加AWR的大小,并且可能由于手机和保存信息的工作负荷的增加对性能产生影响。

调用PL/SQL包DBMS_WORKLOAD_REPOSITORY可以调整AWR快照的频率和持久性。查询DBA_HIST_WR_CONTROL视图会显示快照的保留时间和频率的当前值。CREATE_SNAPSHOT过程会强制生成快照,并定期手机。强制生成快照一般咋启动某类工作的前后进行,这样就可以生成某个特定时间段的报告。

使用自动数据库诊断监视器

Oracle数据库预配置了一组顾问。首先涉及的是Automatic Database Diagnostic Monitor(自动数据库诊断监视器,ADDM)。研究在保存AWR快照自动生成的ADDM报告通常是DBA的一项日常事务。ADDM报告具有宝贵的价值,并且突出说明了数据库内的问题以及建议的解决方法,但是在许多情况下,报告会建议运行一个或多个其他顾问。与ADDM相比,这些顾问能给出更准确的诊断信息和建议。

ADDM查看存储在两个AWR快照中的数据。通过比较它们,它可以总结出这些快照期间的活动并生成报告。这个报告试图检测任何可能的性能问题,并提出缓解它们的建议。ADDM可以识别的问题包括:

  • CPU瓶颈
  • 争用问题,如行锁
  • I/O系统上的压力
  • 高负载SQL

只要生成AWR快照,ADDM就会自动运行。它分析当前快照和以前快照之间的活动。因此,默认情况下,每小时可提供一次报告。也可以根据需要在任意两个快照之间生成一份报告。

生成报告:@?/rdbms/admin/addrpt.sql

描述并使用顾问框架

顾问依靠内存中实例积累的活动统计数据,这些统计数据会写入AWR,作为快照。

Oracle AWR与警报系统一的更多相关文章

  1. Oracle AWR 数据导入/导出的步骤

    LINUX状态下,连接oracle用户:su - oracle  1.上传采集快照.dmp文件至服务器  (dbid:4292035712)  919219826 2.在服务器端创建目录 (即文件夹a ...

  2. 媲美oracle awr/statspack的mysql awr第一版发布

    现发布alpha版mysql awr,其提供的特性类似于oracle awr或statspack+集中式监控.对于原来从事oracle dba或者相关运维的人原来说,这会是个不错的选择. 至于我为什么 ...

  3. Oracle AWR报告指标全解析-11011552

    1-5 Top 5 Timed EventsWaits : 该等待事件发生的次数, 对于DB CPU此项不可用Times : 该等待事件消耗的总计时间,单位为秒, 对于DB CPU 而言是前台进程所消 ...

  4. 转: Oracle AWR 报告 每天自动生成并发送邮箱

    原贴地址:http://www.cnblogs.com/vigarbuaa/archive/2012/09/05/2671794.html Oracle AWR 介绍http://blog.csdn. ...

  5. 如何评估oracle AWR 的在oracle 中的存储情况

    如何评估oracle AWR 的在oracle 中的存储情况 如果把awr保存时间从默认的7天修改为30天,采样时间从1小时修改到更短,修改之后如何预估空间占用? ------------------ ...

  6. Oracle AWR 报告详解

    转自:http://blog.csdn.net/laoshangxyc/article/details/8615187 持续更新中... Oracle awr报告详解 DB Name DB Id In ...

  7. (原创)如何在性能测试中自动生成并获取Oracle AWR报告

    版权声明:本文为原创文章,转载请先联系并标明出处 由于日常使用最多的数据库为Oracle,因此,最近又打起了Oracle的AWR报告的主意. 过去我们执行测试,都是执行开始和结束分别手动建立一个快照, ...

  8. django模型系统一

    django模型系统一 1.数据库的连接配置 django连接mysql的配置流程 安装pymysql       **  pip install pymysql 修改配置 修改setting的配置文 ...

  9. [转]oracle awr报告生成和分析

    转自:http://blog.csdn.net/cuker919/article/details/8767328 最近由于数据库cpu占用非常高,导致VCS常常自动切换,引起很多问题. 最近学习一下数 ...

随机推荐

  1. JS算法之A*(A星)寻路算法

    今天写一个连连看的游戏的时候,接触到了一些寻路算法,我就大概讲讲其中的A*算法. 这个是我学习后的一点个人理解,有错误欢迎各位看官指正. 寻路模式主要有三种:广度游戏搜索.深度优先搜索和启发式搜索. ...

  2. Qt Quick程序的发布

    要将程序发布出去,首先需要使用release方式编译程序,然后将生成的.exe可执行文件和需要的库文件发在一起打包进行发布. 要确定需要哪些动态库文件,可以直接双击.exe文件,提示缺少那个dll文件 ...

  3. PHP计算近1年的所有月份

    $z = date('Y-m'); $a = date('Y-m', strtotime('-12 months')); $begin = new DateTime($a); $end = new D ...

  4. JUnit测试模块使用

    JUnit简介 ​ JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JUn ...

  5. Azure Linux 虚机上配置 RAID 的常见问题及解决方案

    简介 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),简称磁盘阵列.能增强数据集成度,增强容错功能,增加处理量或容量.详情参见这篇文章. 配置 ...

  6. Ubuntu-18.04下安装mysql

    安装mysql服务器 1. sudo apt-get install mysql-server 2. sudo apt-get install mysql-client 登录问题 安装成功后,我们会发 ...

  7. Windows环境下使用Nginx搭建负载均衡

    前言 最近没有什么事情,喜欢总结并学习东西!前几天写来一个Session共享,那么我们为什么需要Session共享?因为我们的应用程序分布在多个服务器上,为了合理分配用户的请求,就需要用到负载均衡技术 ...

  8. 《C++ Primer Plus》读书笔记之四—分支语句和逻辑操作符

    第六章 分支语句和逻辑操作符 1.&&的优先级低于关系操作符. 2.取值范围:取值范围的每一部分都使用AND操作符将两个完整的关系表达式组合起来: if(age>17&& ...

  9. webbench 网站压力测试

    [root@localhost ~]# webbench -c 500 -t 4 http://172.24.61.41/Webbench - Simple Web Benchmark 1.5Copy ...

  10. iOS真机命令(自动化测试)

    获取设备的的UDID idevice_id --list # 显示当前所连接设备的 udid instruments -s devices # 列出所有设备,包括真机.模拟器.mac idevicei ...