互联网服务Db2

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

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

参与5

1同行回答

atpeace331atpeace331  数据库管理员 , 银行
DB2 的缺憾   很遗憾的告诉您,DB2 除了 IBM DSM(Data Server Manager)企业版,还有  新数科技的新云监控  可以做到 “性能历史信息库” 自动收集、统计、分析的功能,再没有其他工具可以做到了! 而且 SNAPSHOT 监控接口由于监控开销问题,根本不适合高频数据采集...显示全部

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
浏览1926
zhuhaiqiang 邀答

提问者

steve25
数据库管理员IBM

问题来自

相关问题

相关资料

相关文章

问题状态

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