上一期生成了ASH报告后,就需要解读报告关键信息。ASH的使用可以快速定位瞬时性能问题。生产环境的场景时间紧、任务重,但是必须要结合具体业务分析,同时借助其他工具做报告做趋势分析。
一、ASH 技术原理
1. 核心机制
- 采样原理:ASH 每秒采样一次活动会话(状态为 ACTIVE,非空闲等待),由后台进程 MMNL(Memory Monitor Light)执行
- 数据存储:
- 内存:采样数据存储在 SGA 的循环缓冲区(V$ACTIVE_SESSION_HISTORY),缓冲区大小由隐含参数 _ash_size 控制(默认约 1MB~30MB)
- 持久化:MMNL 定期将内存数据写入 AWR 表 WRH$_ACTIVE_SESSION_HISTORY(视图为 DBA_HIST_ACTIVE_SESS_HISTORY),持久化比例由 _ash_disk_filter_ratio 控制(默认 1/10)
2. 核心术语
| 术语 |
解释 |
分析意义 |
| DB Time |
所有活动会话消耗的总时间(CPU + 等待时间) |
衡量系统负载强度,高 DB Time 表明性能瓶颈 |
| Top Events |
排名前几的等待事件(如db file sequential read, enq: TX - row lock contention) |
定位系统级瓶颈(事件占比 >30% 需优先处理) |
| Load Profile |
活动会话数、逻辑读/秒、物理读/秒等负载指标 |
判断资源压力(如物理读 >500/秒需优化 I/O) |
| SQL ID |
消耗资源最多的 SQL 唯一标识 |
关联高负载 SQL 与等待事件 |
| Blocking Session |
阻塞其他会话的源头会话 ID |
诊断锁争用问题(如行锁阻塞链) |
3. 关键隐含参数
| 参数名 |
默认值 |
作用 |
| _ash_sampling_interval |
1000ms |
采样间隔(毫秒) |
| _ash_enable |
TRUE |
启用/禁用 ASH 采样 |
| _ash_sample_ |

最低0.47元/天 解锁文章
1442

被折叠的 条评论
为什么被折叠?



