系统集成cpudb2 v9.7

生产中最耗资源的SQL要解!

在生产的数据库服务器中,有两类事件总困扰我,一是I/O 100%,一是CPU使用>98%。我是数据库是9.7.0.4,DFT_MON开头的参数,全是ON状态。我的目标是想在发生这类事件时,查到当前最耗资源的SQL!我目前是使用sysibmadm.snapdyn_sql这个视图,利用pool_data_p_reads和total_usr_cpu_time这...显示全部
在生产的数据库服务器中,有两类事件总困扰我,一是I/O 100%,一是CPU使用>98%。
我是数据库是9.7.0.4,DFT_MON开头的参数,全是ON状态。
我的目标是想在发生这类事件时,查到当前最耗资源的SQL!
我目前是使用sysibmadm.snapdyn_sql这个视图,利用pool_data_p_reads和total_usr_cpu_time这两个字段
倒序排序获取影响最大的前三条记录!
问题:
1、还有什么办法能达到目标?应该使用什么命令或命令组去实现?需要怎么配置参数?
2、现在的问题是,现在这十条记录中没有我想要东西,它的排名可能位于28行,也可能位于66行,对吧?有没有时间字段可以利用,这样我就可以再加上当前日期这个条件,不就找到问题SQL了吗?不过可惜的是,我发现SNAPSHOT_TIMESTAMP这个字段,好像是当前时间!
3、sysibmadm.snapdyn_sql这个视图是随时更新的吗,我能不清除此视图,重新开始监控,这样,已经改进的语句,便不会排在第一名了不是吗?

附语句:
select STMT_TEXT from sysibmadm.snapdyn_sql order by pool_data_p_reads desc fetch first 3 rows only收起
参与19

查看其它 16 个回答3833020的回答

38330203833020软件开发工程师joyin
学习
DB2的分析是做的没有oracle的好。
互联网服务 · 2013-11-20
浏览1260

回答者

3833020
软件开发工程师joyin

回答状态

  • 发布时间:2013-11-20
  • 关注会员:2 人
  • 回答浏览:1260
  • X社区推广