前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试826】在Oracle中,ASH和AWR的关系是什么?

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

作者头像
小麦苗DBA宝典
发布2020-06-24 15:12:29
1.6K0
发布2020-06-24 15:12:29
举报

题目部分

【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程序员面试笔试宝典》,作者:小麦苗

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档