专栏首页小麦苗的DB宝专栏【DB笔试面试826】在Oracle中,ASH和AWR的关系是什么?

【DB笔试面试826】在Oracle中,ASH和AWR的关系是什么?

题目部分

【DB笔试面试826】在Oracle中,ASH和AWR的关系是什么?

答案部分

自Oracle 10g开始,Oracle会将处于等待状态的会话的相关信息复制一份到VSESSION_WAIT中,而VSESSION_WAIT_HISTORY是其归档表,但这个表只会保存VSESSION_WAIT最近10次的等待信息,这对一段时间内的数据库性能的检测是远远不够的。为了解决这个问题,Oracle 10g新添加了一个视图VACTIVE_SESSION_HISTORY。

ASH采用的策略是:保存处于等待状态的活动SESSION的信息,每秒从V$SESSION_WAIT中采样一次,并将采样信息保存在内存中。ASH的采样数据保存在内存中,而分配给ASH的内存空间是有限的,当分配空间占满后,旧的记录就会被覆盖掉,而且在数据库重启后,所有的这些ASH信息都会消失。这样,对于长期检测Oracle的性能是不可能的。在Oracle 10g中,提供了永久保留ASH信息的方法,这就是AWR。

由于全部保存ASH中的信息是非常耗费时间和空间的,AWR采用的策略是:每小时对VACTIVE_SESSION_HISTORY进行采样一次,并将信息保存到磁盘中。这些采样信息被保存在表WRH_ACTIVE_SESSION_HISTORY中。而这个采样频率(1小时)和保留时间(Oracle 10g为7天,Oracle 11g为8天)是可以根据实际情况进行调整的,这就给DBA们提供了更加有效的系统监测工具。而AWR中的信息最长可能有1小时的延迟,所以,其采样信息并不能用于诊断数据库的当前状态,但可以用来作为一段时期内数据库性能调整的参考。

有关ASH和AWR的关系可以用下图来表示:

图 3-24 ASH和AWR的关系

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本文分享自微信公众号 - DB宝(lhrdba),作者:小麦苗best

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【DB笔试面试631】在Oracle中,什么是动态采样(Dynamic Sampling)?

    对于没有收集统计信息的表,Oracle为了能够得到相对准确的执行计划,会在执行SQL之前对SQL语句涉及到的表做动态采样(Dynamic Sampling,从O...

    小麦苗DBA宝典
  • 【DB笔试面试817】在Oracle中,什么是ASH?

    ASH(Active Session History,活动会话历史信息)、AWR(Automatic Workload Repository,自动负载信息库)、...

    小麦苗DBA宝典
  • 【DB笔试面试806】在Oracle中,如何查找未使用绑定变量的SQL语句?

    利用V$SQL视图的FORCE_MATCHING_SIGNATURE字段可以识别可能从绑定变量或CURSOR_SHARING获益的SQL语句。如果SQL已使用绑...

    小麦苗DBA宝典
  • 循序渐进Oracle - 全面认识Oracle ASH

    从Oracle 10g开始,Oracle引入了ASH新特性,也就是活动Session历史信息记录(Active Session History,ASH)。如果说...

    数据和云
  • C++核心准则C.9:最小限度暴露成员

    Encapsulation. Information hiding. Minimize the chance of unintended access. Thi...

    面向对象思考
  • 爬虫篇| 爬取豆瓣电影(二)

    上次爬取了百度图片,是分析解决ajax的json的响应的,对于一些网站的常见的数据的爬取,是这次主要内容。

    润森
  • Flink基于EventTime和WaterMark处理乱序事件和晚到的数据

    在实际的业务中,我们经常会遇到数据迟到的情况,这个时候基于窗口进行计算的结果就不对了,Flink中watermark就是为了解决这个问题的,理解watermar...

    大数据技术与架构
  • 【DB笔试面试631】在Oracle中,什么是动态采样(Dynamic Sampling)?

    对于没有收集统计信息的表,Oracle为了能够得到相对准确的执行计划,会在执行SQL之前对SQL语句涉及到的表做动态采样(Dynamic Sampling,从O...

    小麦苗DBA宝典
  • mini文件搜索工具

    每个人电脑上都安装了Python,无论是py2.7还是py3.7。以我安装的py3.7为例,搜索整个py3.7下面的所有目录(包括子目录),里面的所有文件:

    stormwen
  • (五)ZK集群搭建

    1.集群规划 在hadoop002、hadoop003和hadoop004三个节点上部署Zookeeper。 2.解压安装 (1)解压Zookeeper安...

    wolf

扫码关注云+社区

领取腾讯云代金券