系统集成 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 个回答id_taosicai 的回答

id_taosicai id_taosicai 系统运维工程师 软通动力
db2pd -edus找到usr/sys高的那几个thread的EDUID, 然后对应到它的dynamic sql
shukongchengdb 发表于 2013-11-5 22:51



    这个方法,我倒是个可行的方法。
系统集成 · 2013-11-06
浏览779

回答者

id_taosicai
系统运维工程师 软通动力
擅长领域: 数据库
评论91

id_taosicai 最近回答过的问题

回答状态

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