---
title: "ASH 简介 - OceanBase 数据库 V4.2.5 | OceanBase 文档中心"
description: ASH 简介 ASH 概述 ASH（Active Session History）是一种活动会话历史记录的诊断工具，用于记录数据库中所有活动会话的信息。 ASH 报告（OceanBase Active Session History Report ）是一个能够提供定位瞬时发生异常的分析报告，与性能报告相比，能提供更加…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.5 LTS

# ASH 简介

更新时间：2026-04-15 17:16:59

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.5/zh-CN/700.reference/1000.performance-tuning-guide/400.performance-diagnosis/500.ash-report-diagnosis/100.ash-introduction.md)  

## ASH 概述

ASH（Active Session History）是一种活动会话历史记录的诊断工具，用于记录数据库中所有活动会话的信息。

ASH 报告（OceanBase Active Session History Report ）是一个能够提供定位瞬时发生异常的分析报告，与性能报告相比，能提供更加细粒度的诊断信息。一般的性能报告所覆盖的是小时级别的快照信息，诊断问题的粒度不能深入到 Session 级别。导致一些瞬时抖动信息很难从性能报告上得到详细的执行细节，因此，我们可以通过 ASH 报告这样一个会话级别的细粒度诊断信息来解决这种问题。

ASH 报告是一个默认开启的后台性能采集任务，因此在分析性能问题时，无需手动打开任何相关参数来复现问题。只需明确问题发生的时间段，然后调用相关命令，即可采集到问题发生时的性能数据。

## 适用场景

ASH 报告用于诊断瞬时发生的异常场景，这些场景通常需要细粒度、实时或会话级别的分析能力。推荐在以下几种场景中使用：

- 实时动态问题诊断。

  例如某个时段 SQL 响应时间突然飙升，或系统资源遇到瓶颈，传统监控无法观察到数据库系统所有的活跃会话。
 - 分布式系统跨节点问题。

  OceanBase 数据库的 SQL 执行链路往往涉及多个 OBServer 节点，ASH 可以通过 TRACE_ID/SQL_ID 等信息关联多个节点的执行信息。
 - SQL 执行阶段级诊断。

  ASH 可以作为观察 SQL 算子级执行的新手段。结合等待事件、执行阶段等信息，可以提供其他排查手段如 PLAN_MONITOR 等不能提供的信息。
 - 资源争用与竞争分析。

  多个会话争夺同一资源（如锁、缓存）的、或某个会话占用了过多 CPU 等场景，ASH 可以通过对实时活跃会话的占用追踪和等待事件的关联来排查。
 - 会话级问题排查。

  单一会话长时间异常、阻塞，或长事务等场景，ASH 可以直接筛选对应 SESSION_ID，分析其历史行为，并钻取根因，可以提供比 PROCESSLIST 更全面的诊断信息。
 - 后台任务开销分析。

  在 ASH 模型中，后台任务就是后台 Session，通过 Program/Module/Action 字段来标记后台任务的属性，并通过等待事件等维度细粒度客户后台任务的执行开销。
 - 冷启动与初始化问题。

  Session 频繁建断连、SQL 解析和计划生成慢等场景，很多时候处于传统监控的盲区。当传统监控显示“有异常但无法解释原因”时，不妨使用 ASH 来进行排查。

## 核心特性

ASH 报告作为轻量级、常开的原生诊断工具，与传统监控有所不同：

| 对比维度 | 传统监控 | ASH 分析法 |
| --- | --- | --- |
| 监控维度 | 阈值告警机制（如 CPU 使用率 >90%） | 全量历史回溯（秒级采样还原数据库瞬时状态） |
| 部署复杂度 | 需预定义监控指标与告警规则 | 零配置接入（自动记录会话/资源/锁等 200+ 维度） |
| 诊断深度 | 异常定位（识别问题节点） | 根因溯源（解析具体会话、锁类型、资源冲突链） |
| 数据粒度 | 聚合指标（如分钟级 CPU 均值） | 原始快照（保留会话级执行阶段/等待事件详情） |

通过以下核心特性，实现了对传统监控的超越：

- 开箱即用。

  无需提前定义监控项，直接利用数据库内核内置的采样机制，实时记录会话级状态。
 - 秒级回溯。

  通过秒级采样数据，可完整复现任意历史时刻的数据库运行细节（如会话执行阶段、资源占用、锁竞争状态）。
 - 全景洞察。

  既能定位到具体会话或 SQL 的阻塞原因（如“会话 123 因持有锁未释放导致阻塞”），又能分析全局资源竞争（如“80% 的 CPU 被某个资源组占用”）。

通过该报告，能够了解历史诊断时间内占用数据库资源较高的 SQL，以及 OceanBase 集群历史会话的执行详情等信息。您可根据这些信息优化 SQL 从而提高 SQL 的执行效率。

## 相关文档

- [生成 ASH 报告](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001500502)。
 - [分析 ASH 报告](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001500501)。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
