政府机关db2 9.7

DB2:这样查看当前执行的SQL?

请教各位专家一下两个问题:1、通过iostat发现IO比较繁忙,数据库比较忙,通过top发现以下db2的进程,2、可以通过TOP里面的PID进程号找到对应执行程序或sql吗?iostat:Device:         rrqm/s   wrqm/s   r/s   w/s&...显示全部
请教各位专家一下两个问题:
1、通过iostat发现IO比较繁忙,数据库比较忙,通过top发现以下db2的进程,
2、可以通过TOP里面的PID进程号找到对应执行程序或sql吗?

iostat:
Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00    16.20  0.00  1.40     0.00    70.40   100.57     0.00    0.29   0.29   0.04
sdb              13.60     0.60 85.60 10.80 17774.40    72.00   370.26     2.43   25.30  10.32  99.52
sdc               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdd               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sde               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00


top:
top - 14:44:45 up 13 days, 20:37,  6 users,  load average: 1.86, 2.38, 3.08
Tasks: 859 total,   1 running, 856 sleeping,   0 stopped,   2 zombie
Cpu(s):  0.6%us,  0.2%sy,  0.0%ni, 87.4%id, 11.7%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:  16436148k total, 14703416k used,  1732732k free,   283560k buffers
Swap:  2096472k total,     9952k used,  2086520k free, 12273852k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                         
11659 db2inst4  24   0 15.3g 5.2g 4.8g S    8 33.5   5167:12 db2sysc                                                                                          8188 root      15   0 13244 1688  812 R    1  0.0   0:14.24 top                                                                                             
10441 root      15   0  235m  27m  10m S    1  0.2 391:23.78 java                                                                                              965 root       0 -20     0    0    0 S    0  0.0  48:49.72 mpp_dcr                                                                                         
11307 db2inst3  23   0 1155m 137m  59m S    0  0.9  46:39.31 db2sysc                                                                                         
11660 root      15   0  581m  28m  18m S    0  0.2   2:33.34 db2syscr                                                                                       
11661 root      15   0  581m  28m  18m S    0  0.2   2:33.63 db2syscr                                                                                       
    1 root      15   0 10328  696  580 S    0  0.0   0:03.77 init                                                                                            
    2 root      RT  -5     0    0    0 S    0  0.0   0:00.04 migration/0                                                                                    
    3 root      34  19     0    0    0 S    0  0.0   1:10.37 ksoftirqd/0                                                                                    
    4 root      RT  -5     0    0    0 S    0  0.0   0:00.00 watchdog/0                                                                                      
    5 root      RT  -5     0    0    0 S    0  0.0   0:00.05 migration/1                                                                                    
    6 root      34  19     0    0    0 S    0  0.0   0:00.53 ksoftirqd/1收起
参与4

查看其它 1 个回答共同进步的回答

共同进步共同进步数据库架构师中国金融电子化公司
通过以上方法看到的只是DB2的核心进程号,由于DB2采用多线程处理方式,具体的应用信息只能配合如下方式了解到:
db2pd -d dbname -appl -dynamic
先找到正在执行的应用,然后根据C_AnchID C_StmtUID找到相应的sql,由于可能出于正在执行过程中的APP包含多个,为了确定IO大的那个应用对应的sql,最好再结合db2top -d dbname 之后按T查看IO量最大的表的信息之后再根据sql匹配情况确定最终的sql信息
软件开发 · 2014-04-24
浏览542

回答者

共同进步
数据库架构师中国金融电子化公司
擅长领域: 数据库服务器分布式系统

共同进步 最近回答过的问题

回答状态

  • 发布时间:2014-04-24
  • 关注会员:1 人
  • 回答浏览:542
  • X社区推广