ASH(Active Session History)以V$SESSION为基础,每秒采样一次,临时地保存系统当前的性能诊断信息。和AWR不同,ASH是保存内存之中, 当ASH分配的空间用光的时候,新的记录会覆盖掉旧的记录;AWR会有延迟,看的历史的性能诊断信息,最大可能有一小时的延迟,而ASH是记录当前的最新的性能诊断信息的。 ASH 每秒钟收集一次当前处于非空闲等待事件的、活动状态的、session的信息,并保存在$ACTIVE_SESSION_HISTORY视图中。该报告可在某类等待事件较严重的情况下,快速获取等待事件相关会话信息以及sql情况,可以找到问题sql,以便快速定位并解决问题。
ash报告获取方法
1:使用oracle用户在数据库服务器上执行如下命令
2:选择报告格式,默认为html,可直接回车
3:选择需要输出ash报告的时间段,由于ash相关信息在内存中进行循环写入,需要根据输出的信息获取ash报告的有效时间段,并根据有效时间段进行参数填写
以上信息可以获得最早或最晚的ash有效时间
也可以直接输入当前时间之前的几分钟的报告,如下获取5分钟
4:输入报表名,或者不输入(oracle会生成一个默认名)
这样就生成了一个名为:ash_1_1230_1403.html的ASH报告文件
领取专属 10元无门槛券
私享最新 技术干货