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
浏览1733
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 人
  • 回答浏览:1733
  • X社区推广