Oracle AWR可以收集存储 SQL 的历史执行计划,DB2有什么简洁的方法吗?

孔老师,参考您介绍的 DB2收集策略,我总结了一些轻量级的接口,如下:不过,孔老师我还是有个疑问,Oracle AWR 可以收集并存储 SQL 的历史执行计划,DB2有什么简洁的方法办到吗?好像 usage list 和 section actuals 都需要 Event Monitor配合,而 Event Monitor即使是写到 ...显示全部

孔老师,参考您介绍的 DB2收集策略,我总结了一些轻量级的接口,如下:

不过,孔老师我还是有个疑问,Oracle AWR 可以收集并存储 SQL 的历史执行计划,DB2有什么简洁的方法办到吗?
好像 usage list 和 section actuals 都需要 Event Monitor配合,而 Event Monitor即使是写到 UE表也会影响系统性能。

收起
参与8

返回anikikong的回答

anikikonganikikong  数据库运维工程师 , 中国民生银行

你总结的这些接口已经很详细了,我们当前也是优先使用这些接口来监控数据库的。因为 db2 确实没有地方保存历史信息。所以我们当前的方式是通过 jdbc 去调用这些表函数,将采集的信息集中管理起来。相当于自己管理数据库的历史性能数据。

历史执行计划这个问题问到 DB2 的痛点了,也是我们日常运维的痛点。这点 oracle 确实做的好。 IBM 产品不给力,我们只能自己凑了。当前的想法是将采集的 SQL 信息保存下来,挑选执行次数比较多的 SQL 定期采集查询计划,这个也有 SQL 接口。反正不简洁,吐槽。

银行 · 2019-12-19
浏览1700
atpeace331 邀答
  • 孔老师,您那边的思路:1、挑选高频SQL 2、对这些SQL定期采集计划 您是通过EXPLAIN_FROM_SECTION将 SQL 的 explain 信息写到 explain tables中,然后通过 explain tables的关联查询或db2exfmt 格式化展示这些执行计划?
    2019-12-20
  • 这部分工作还没开始做,确实是这个方法和思路。
    2019-12-20

回答者

anikikong
数据库运维工程师中国民生银行
擅长领域: 数据库灾备双活

anikikong 最近回答过的问题

回答状态

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