循序渐进丨在 MogDB 数据库中实现 Oracle ASH能力
我们都知道,当 Oracle 数据库出现性能故障后,一般会在线上实时诊断数据库性能问题,特别是资源突然打高的场景,这个时候用到ASH的数据,就能很大程度上准确定位问题所在。
Oracle ASH
在 Oracle 数据库中,实时捕获相关性能数据是通过ASH工具来实现的。
- ASH是v$session为基础,1s采样一次,记录活跃会话等待的事件。采样工作由后台进程MMNL来完成。
- dba_hist_active_sess_history是视图v$active_session_history的历史数据,默认每十秒收集一次信息储存在磁盘中。
- MMON负责执行与AWR相关的任务。包括收集数据库统计信息,收集AWR快照,启动各种自动维护作业JOB,生成超过阀值告警信息。
- MMNL负责执行与ASH相关的任务。
MogDB ASP
- resource_track_level参数指定为operator,则会开启算子采样能力,默认值是query,只会记录SQL级别采样。
ASP数据收集流程