互联网服务Db2

DB2有没有类似ASH VIEWER的产品,可以将所有的session信息收集下来行程图形化界面?

最近在support ORACLE的时候发现一个很好用的工具ASH VIEWER,可以将所有的session信息收集下来行程图形化界面。非常便于做troubleshooting或者performance tuning,但是返到DB2,除了自己搜集SNAPSHOT,好像DB2没有这种自动化搜集的工具,不知道是不是有第三方提供类似ASH V...显示全部

最近在support ORACLE的时候发现一个很好用的工具ASH VIEWER,可以将所有的session信息收集下来行程图形化界面。非常便于做troubleshooting或者performance tuning,但是返到DB2,除了自己搜集SNAPSHOT,好像DB2没有这种自动化搜集的工具,不知道是不是有第三方提供类似ASH VIEWER一样的工具来采集snapshot并做成图形化工具?

收起
参与5

返回atpeace331的回答

atpeace331atpeace331数据库管理员银行

DB2 的缺憾
   很遗憾的告诉您,DB2 除了 IBM DSM(Data Server Manager)企业版,还有  新数科技的新云监控  可以做到 “性能历史信息库” 自动收集、统计、分析的功能,再没有其他工具可以做到了!
而且 SNAPSHOT 监控接口由于监控开销问题,根本不适合高频数据采集,银行生产环境 db2top等调用 SNAPSHOT接口的工具都被限制使用,DB2 的新版本中已经被轻量级的 dsmtop 替代。

ASH 与 AWR
反观 Oracle,人家把 “性能历史信息库” 的概念、 功能发展得淋漓尽致!深入人心!无论是Oracle 10g开始引入的 ASH,Active Session History,还是后来发展的 AWR ,Automatic Workload Repository!
   先上图:

1、V$SESSION 是监控内存中 数据库活动 的记录,是 ASH 的数据起源;

  2、V$SESSION_WAIT 将当前会话中正在等待的会话状态复制一份到该视图,断开后消失(等待会话生命周期最后1次等待,一个session对应一条记录);

3、V$SESSION_WAIT_HISTORY 是对 V$SESSION_WAIT 的简单增强,记录活动 SESSION 的最近10次等待;

4、V$ACTIVE_SESSION_HISTORY 是 ASH 的核心,ASH 每秒从 v$session_wait 中采样一次(等待会话每秒的快照) ,保存到 ASH buffers 的此视图中,用以记录活动 session 的历史等待信息,期望值是记录一个小时的数据;

5、WRH$ ACTIVE_SESSION_HISTORY 是 V$ACTIVE_SESSION_HISTORY 在 AWR 中的存储位置,V$ACTIVE_SESSION_HISTORY中记录的信息会被定期(每小时一次)的刷新到 AWR负载库中,并缺省保留 7天用于分析。

6、BA_HIST_ACTIVE_SESS_HISTORY视图是WRH$_ACTIVE_SESSION_HISTORY视图和其他几个视图的联合展现,通常通过这个视图进行历史数据的访问。

ASH 与 AWR 的关系
ASH 以 v$session 为基础,每秒钟从 v$session_wait 采样一次,记录活动会话等待的事件。ASH采样的等待会话信息被滚动写入 SGA 中的 ASH buffers,在需要时早期的信息是会被覆盖的。ASH记录的信息可以通过v$active_session_history视图来访问,对于每个活动session,每次采样会在这个视图中记录一行信息。
AWR 的采样工作由后台进程 MMON 每60分钟执行一次,ASH信息会被采样写出到 AWR 负载库。当 ASH buffers 写满之后,另外一个后台进程 MMNL 将会主动将 ASH 信息写出。由于数据量巨大,把所有的 ASH 数据写到磁盘上是不可接受的。一般是在写到磁盘的时候过滤这个数据,写出的数据占采样数据的10%,写出时通过direct-path insert完成,尽量减少日志生成,从而最小化数据库性能影响。

银行 · 2019-11-19
浏览1950
zhuhaiqiang 邀答

回答者

atpeace331
数据库管理员银行

atpeace331 最近回答过的问题

回答状态

  • 发布时间:2019-11-19
  • 关注会员:2 人
  • 回答浏览:1950
  • X社区推广