Oracle ASH与AWR深度解析
需积分: 9 191 浏览量
更新于2024-07-24
收藏 223KB DOC 举报
"ASH和AWR的故事"
ASH(Active Session History)和AWR(Automatic Workload Repository)是Oracle数据库性能监控和分析的重要工具,主要用于帮助DBA(数据库管理员)理解和优化数据库性能。
ASH是Oracle 10g引入的一项新特性,它以秒为单位收集那些处于非空闲状态的会话信息,比如等待事件、SQL语句等,并存储在内存中的V$ACTIVE_SESSION_HISTORY视图里。由于数据存储在SGA(System Global Area)的Shared Pool中的ASH buffers,它的容量有限,因此ASH能记录的历史长度受到SGA分配给ASH缓冲区大小的影响。DBA可以通过查询V$SGASTAT视图来了解ASH内存的使用情况。例如,以下SQL语句可以显示ASH缓冲区的大小:
```sql
SELECT pool, name, bytes/1024/1024 Mb
FROM v$sgastat
WHERE name LIKE 'ASH%';
```
ASH的主要作用在于提供实时的性能数据,即使在会话结束之后,DBA仍然可以通过分析ASH数据了解过去发生的问题,这对于诊断瞬时性能问题非常有帮助。
而AWR则是Oracle的一种自动性能监控机制,它定期(默认每小时一次)收集数据库的快照,包括系统统计信息、SQL语句执行统计、ASH数据等,并将这些信息存储在一个可持久化的仓库中,即Automatic Workload Repository。AWR报告提供了数据库性能的详细历史视图,可以帮助DBA识别性能趋势和瓶颈。通过对比两次快照之间的数据,DBA可以找出性能下降的原因,比如SQL语句的执行时间变化、等待事件的分布等。
AWR报告通常包含了以下内容:
1. 性能指标:如CPU使用率、I/O操作、缓冲区命中率等。
2. SQL语句分析:最消耗资源的SQL语句,包括执行次数、CPU时间、等待事件等。
3. 等待事件分析:哪些等待事件对性能影响最大。
4. SGA和PGA内存使用情况:内存分配和使用效率。
5. 实例和表空间统计:如表空间的使用情况、重做日志切换频率等。
综合使用ASH和AWR,DBA可以对数据库进行深入的性能分析,找出并解决性能问题,提升数据库的整体性能。然而,需要注意的是,虽然ASH和AWR提供了丰富的信息,但过度依赖或不恰当的使用也可能带来额外的资源消耗,因此,合理配置和适时使用这两种工具是关键。
2012-08-11 上传
2016-10-09 上传
2019-04-29 上传
2023-06-01 上传
2023-06-10 上传
2023-05-15 上传
2023-06-06 上传
2023-06-06 上传
2024-10-27 上传
煮茶听雨声
- 粉丝: 0
- 资源: 5
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器