db2中sysibmadm.top_dynamic_sql表的数据刷新周期如何?如何查询执行耗时最长的sql语句?

问题背景:db2数据库自带了很多数据库执行情况的快照监控。可以监控执行时间最长的sql语句,排序最多的sql语句等。比如下面是通过sysibmadm.top_dynamic_sql表查询平均执行时间最长的前10条的sql语句
db2  "select substr(stmt_text,1,500) as stmt_text,average_execution_time_s,num_executions from sysibmadm.top_dynamic_sql order by average_execution_time_s desc fetch first 10 rows only"

我的问题是:sysibmadm.top_dynamic_sql这张表里的数据,更新统计周期怎么约定的,哪些参数因素影响到周期统计?也就是说比如我查询出来的前10条语句,是1小时内最长,还是1天内最长的语句?

问题案例:
以上sql语句我测试环境,第一次查询的耗时最长sql语句,耗时50秒,隔5分钟再去查询,之前的50秒语句就不见了,换成了别的语句。但生产环境,早上10点钟每隔5分钟,去查询耗时最长的sql语句,都是前一天晚上日终的相关sql语句。

参与21

3同行回答

仙道彰仙道彰数据库开发工程师花旗集团
db2中sysibmadm.top_dynamic_sql 是DB2数据库版本从V9后提供的性能管理视图中的一个,主要作用是用来统计消耗资源最多的SQL语句信息;V9中的这些性能管理视图可以获取到与表函数和快照类似的监控数据;原理上这些性能管理视图能够监控的数据很多也都是像快照和监控函数一样是...显示全部

db2中sysibmadm.top_dynamic_sql 是DB2数据库版本从V9后提供的性能管理视图中的一个,主要作用是用来统计消耗资源最多的SQL语句信息;
V9中的这些性能管理视图可以获取到与表函数和快照类似的监控数据;
原理上这些性能管理视图能够监控的数据很多也都是像快照和监控函数一样是由监视器开关控制的;而计数器是用于保存一个运行期间的具体活动或事件发生的次数的数量的累积;也就是说,计数器实际上控制着监控开关所监控到的数据存储;
这些计数器所收集的数据开始于快照监视器开关打开或者数据的连接被建立起来的时候,计数一旦开始他将持续到快照显示器开关被关闭或者所有数据库连接被终止为止,或者自己手动重置所有计数器;
这个命令的语法:
Reset monitor all 或者 reset monitor for db_name ;

希望对您的问题有所帮助。

收起
互联网服务 · 2017-09-21
浏览5140
  • 赞同楼上的回答,其实和 snapshot 以及 db2top 看到的内容都一样,只是显示方式不同,放在 性能管理视图里面是为了方便用 SQL 语句来查询结果
    2017-09-21
anikikonganikikong课题专家组数据库运维工程师中国民生银行
如果要分析某个时间段内的数据库事务性能,建议抓两次mon_get_pkg_cache_stmt,然后累计值想减,得到所有这段时间的sql运行情况。分析基于官网time-spent moniter元素。很全很强大。显示全部

如果要分析某个时间段内的数据库事务性能,建议抓两次mon_get_pkg_cache_stmt,然后累计值想减,得到所有这段时间的sql运行情况。分析基于官网time-spent moniter元素。很全很强大。

收起
银行 · 2017-10-11
kong_fanqingkong_fanqing数据库运维工程师国产数据库公司
sysibmadm.top_dynamic_sql视图的默认更新时间,个人认为和DB2TOP的默认更新时间相差不大,应该是2秒,如果数据库特别繁忙的时候,抓取时间顺延。这个视图里的语句是当前正在执行的,你用来查询的 “”耗时最长的sql语句“ 是用的监控工具,或者自己的脚本,应该是从程序包高速缓存PAC...显示全部

sysibmadm.top_dynamic_sql视图的默认更新时间,个人认为和DB2TOP的默认更新时间相差不大,应该是2秒,如果数据库特别繁忙的时候,抓取时间顺延。这个视图里的语句是当前正在执行的,你用来查询的 “”耗时最长的sql语句“ 是用的监控工具,或者自己的脚本,应该是从程序包高速缓存PACKAGE CACHE中语句比较出来的。
第二次查询验证的细节不清楚,应该是监视用的SQL语句不同,因为两次查询 from的对象表不同。

收起
IT咨询服务 · 2019-05-01
浏览3421
  • 测试环境和生产环境查询用的是都查的 sysibmadm.top_dynamic_sql 视图吗?
    2019-05-01
  • Luyp  Luyp
    感谢你的回答。是的,2个环境用同样的查询语句。
    2019-05-14

提问者

Luyp
软件开发工程师URCB
擅长领域: 服务器中间件应用服务器

相关问题

相关资料

问题状态

  • 发布时间:2017-09-21
  • 关注会员:4 人
  • 问题浏览:6762
  • 最近回答:2019-05-01
  • X社区推广