数据库不定时时卡的问题,求助

操作系统 windows2008 R2

cpu intel至强 2.0G,16核,双cpu

内存 64G   

数据库db2 9.7 64位

故障现象:业务运行隔上一会就要卡一下,间隔的时间不定,从服务器上运行20条VALUES  CURRENT TIMESTAMP;正常情况下这20条命令总的执行时间在0.8秒以下,一旦卡的时候就需要运行接近3秒,从操作系统任务管理器上看cpu使用率有个峰值,但是不超过30%,这个服务器上只运行了db2业务,

我使用perfmon性能监视器查看数据库所在的磁盘分区D盘和processor的idle_time计数器,通常情况下,这两个值都在90-100之间波动,cpu的idle_time就时不时的(大约2分钟左右就会出现1-3次)会降低到50,最多的时候降低到10左右,这时候执行VALUES  CURRENT TIMESTAMP;就比较慢,有时候d盘的idle_time也会跟cpu的idle_time同时降低,不过出现的频率要低些,而且这种情况在业务繁忙的时候出现的频率要高些,但是在业务完全不忙的时候也会出现,这个问题困扰很久了,还有其他方法可以定位问题吗

请问有没有办法能够在出问题的时候跟踪到是哪个站点的什么语句或操作导致的?

我前段时间已经用下面这个语句把一些效率比较低的sql语句找出来修改或者建了索引了,但是问题依旧

SELECT
      NUM_EXECUTIONS 执行次数
    , PREP_TIME_WORST 最差准备时间
    , PREP_TIME_BEST  最佳准备时间
    , ROWS_READ/NUM_EXECUTIONS 平均读取的行数
    , ROWS_WRITTEN/NUM_EXECUTIONS 写入的行数
    , STMT_SORTS/NUM_EXECUTIONS 排序
    , SORT_OVERFLOWS 排序溢出
    , TOTAL_SORT_TIME/NUM_EXECUTIONS 平均排序时间
    ,TOTAL_EXEC_TIME_MS/NUM_EXECUTIONS 平均执行时间
    , STMT_TEXT,a.*
FROM TABLE (SNAP_GET_DYN_SQL_V95 ('EHIS', -1)) AS a
WHERE SNAPSHOT_timestamp>CURRENT TIMESTAMP -20 seconds AND NUM_EXECUTIONS>0
ORDER BY TOTAL_EXEC_TIME_MS/NUM_EXECUTIONS DESC
FETCH FIRST 200 ROWS ONLY
参与22

11同行回答

masalymasaly其它易诚
如果是数据库问题的话,还是比较容易定位的。问题发生时,抓一下数据:db2 reset monitor alldb2 get snapshot for dynamic sql on db2 get snapshot for tables on db2 get snapshot for db on db2pd -latchesdb2pd -stack all显示全部

如果是数据库问题的话,还是比较容易定位的。

问题发生时,抓一下数据:

db2 reset monitor all

db2 get snapshot for dynamic sql on

db2 get snapshot for tables on

db2 get snapshot for db on

db2pd -latches

db2pd -stack all

收起
软件开发 · 2015-11-18
浏览2023
长老长老系统运维工程师先达
之前yhuawu让在出问题的时候执行db2pd -latches,也没有抓取到数据显示全部

之前yhuawu让在出问题的时候执行db2pd -latches,也没有抓取到数据

收起
软件开发 · 2015-12-01
浏览1731
长老长老系统运维工程师先达
latch是什么意思,发生那种情况的时候我用db2pd没有跟踪到lock显示全部

latch是什么意思,发生那种情况的时候我用db2pd没有跟踪到lock

收起
软件开发 · 2015-12-01
浏览2021
Scott_jinScott_jin数据库管理员环境
猜测是lock,或latch显示全部

猜测是lock,或latch

收起
互联网服务 · 2015-11-27
浏览2034
长老长老系统运维工程师先达
call monreport.DBSUMMARY()收集到的数据都是0 呢,监视器开关都打开并重启了db2了的For activities                           0    0/0     &nb...显示全部

call monreport.DBSUMMARY()收集到的数据都是0 呢,监视器开关都打开并重启了db2了的

For activities                           0    0/0

                                                                                

-- Time waiting for next client request --                                      

                                                                                

CLIENT_IDLE_WAIT_TIME               = 0

CLIENT_IDLE_WAIT_TIME per second    = 0

                                                                                

-- Detailed breakdown of TOTAL_WAIT_TIME --                                    

                                                                                

                              %    Total                                       

                              ---  ---------------------------------------------

TOTAL_WAIT_TIME               100  0

                                                                                

I/O wait time                                                                  

  POOL_READ_TIME              0    0

  POOL_WRITE_TIME             0    0

  DIRECT_READ_TIME            0    0

  DIRECT_WRITE_TIME           0    0

  LOG_DISK_WAIT_TIME          0    0

LOCK_WAIT_TIME                0    0

AGENT_WAIT_TIME               0    0

Network and FCM                                                                 

  TCPIP_SEND_WAIT_TIME        0    0

  TCPIP_RECV_WAIT_TIME        0    0

  IPC_SEND_WAIT_TIME          0    0

  IPC_RECV_WAIT_TIME          0    0

  FCM_SEND_WAIT_TIME          0    0

  FCM_RECV_WAIT_TIME          0    0

WLM_QUEUE_TIME_TOTAL          0    0

                                                                                

Component times                                                                 

--------------------------------------------------------------------------------

-- Detailed breakdown of processing time --                                    

                                                                                

                                    %                 Total                     

                                    ----------------  --------------------------

Total processing                    100               0

                                                                                

Section execution                                                               

  TOTAL_SECTION_PROC_TIME           0                 0

    TOTAL_SECTION_SORT_PROC_TIME    0                 0

Compile                                                                        

  TOTAL_COMPILE_PROC_TIME           0                 0

  TOTAL_IMPLICIT_COMPILE_PROC_TIME  0                 0                  

Transaction end processing                                                      

  TOTAL_COMMIT_PROC_TIME            0                 0

  TOTAL_ROLLBACK_PROC_TIME          0                 0

Utilities                                                                       

  TOTAL_RUNSTATS_PROC_TIME          0                 0

  TOTAL_REORGS_PROC_TIME            0                 0

  TOTAL_LOAD_PROC_TIME              0                 0

                                                                                

收起
软件开发 · 2015-11-27
浏览2095
weiruan85weiruan85数据库管理员ibm
9.7就好办了故障发生后,先收集以下数据db2 \" call monreport.DBSUMMARY()\"   显示全部

9.7就好办了

故障发生后,先收集以下数据

db2 \" call monreport.DBSUMMARY()\"  

收起
政府机关 · 2015-11-24
浏览2061
长老长老系统运维工程师先达
              数据库快照数据库名称                      = EHIS数据库路径             ...显示全部

              数据库快照

数据库名称                      = EHIS

数据库路径                      = D:\DB2\NODE0000\SQL00001\

输入数据库别名                  = EHIS

数据库状态                      = 活动

目录数据库分区号                  = 0

目录网络节点名                    =

运行在数据库服务器上的操作系统    = NT 64 位

数据库位置                        = 本地

第一个数据库连接时间戳记        = 2015-10-15 18:35:51.791488

上次复位时间戳记                =

上次备份时间戳记                = 2015-01-02 23:00:03.000000

快照时间戳记                    = 2015-11-24 09:27:47.730665

自动存储路径数                          = 0

用于连接的高水位标记            = 2224

应用程序连接                    = 6101450

辅助连接总计                      = 54

当前连接的应用程序              = 1965

数据库管理器当前执行的应用程序             = 0

与应用程序相关的代理程序数        = 2001

与应用程序相关的最大代理程序数    = 2224

最大协调代理程序数                = 2224

发生阈值违例的数目                         = 0

当前挂起的锁定                  = 383

锁定等待                        = 3162

数据库等待锁定时间(毫秒)      = 未收集

在使用的锁定列表内存(以字节计)= 19440640

检测到死锁                      = 0

锁定升级                        = 0

互斥锁定升级                    = 0

当前正等待锁定的代理程序数      = 0

锁定超时                        = 35

不确定事务数                            = 0

已分配的专用排序堆总数          = 55

已分配的共享排序堆总数                  = 0

共享排序堆高水位标记                    = 0

后阈值排序(共享内存)                  = 未收集

总计排序                        = 1006151204

总计排序时间(毫秒)            = 未收集

排序溢出                        = 4830724

活动排序数                      = 2

缓冲池数据逻辑读取              = 69748958975

缓冲池数据物理读取              = 64742870

缓冲池临时数据逻辑读取                  = 1100728910

缓冲池临时数据物理读取                  = 75688

异步池数据页读取                = 44922273

缓冲池数据写入                  = 16021427

异步池数据页写入                = 14999800

缓冲池索引逻辑读取              = 21507312631

缓冲池索引物理读取              = 19213265

缓冲池临时索引逻辑读取                  = 0

缓冲池临时索引物理读取                  = 0

异步池索引页读取                = 9942806

缓冲池索引写入                  = 31369970

异步池索引页写入                = 30354771

缓冲池 xda 逻辑读取                        = 15

缓冲池 xda 物理读取                        = 2

缓冲池临时 xda 逻辑读取                    = 964196

缓冲池临时 xda 物理读取                    = 0

缓冲池 xda 写入                            = 465

异步池 xda 页读取                          = 0

异步池 xda 页写入                          = 465

缓冲池总计读取时间(毫秒)      = 17635150

缓冲池总计写入时间(毫秒)      = 102125877

异步读取总计耗用时间            = 5990106

异步写入总计耗用时间            = 91691546

异步数据读取请求                = 4126961

异步索引读取请求             = 506499

异步 xda 读取请求                          = 0

无干扰缓冲区可用                       = 30961781

LSN 间隔清除程序触发器          = 5302503

脏页面偷取清除程序触发器        = 1887

脏页面阈值清除程序触发器        = 1666

等待预取的时间(毫秒)            = 1254351

未读预取页                                 = 29244709

直接读取                        = 291158390

直接写入                        = 59376364

直接读取请求                    = 34815692

直接写入请求                    = 6689023

直接读取耗用时间(毫秒)        = 7521288

直接写入耗用时间(毫秒)        = 4994882

关闭的数据库文件数              = 0

主机执行耗用时间                         = 未收集

已尝试的落实语句数              = 108860191

已尝试的回滚语句数              = 5994207

已尝试的动态语句数              = 361866322

已尝试的静态语句数              = 128226146

已失败的语句操作                = 478547

选择已执行的 SQL 语句           = 114548919

已执行的 Xquery 语句                       = 9

已执行的更新/插入/删除语句      = 23874658

已执行的 DDL 语句               = 45322

不活动语句的历史记录内存使用量(以字节计)= 10180

内部自动重新绑定                = 8

已删除的内部行                  = 1219

已插入的内部行                  = 278692

已更新的内部行                  = 419030

内部落实                        = 6625147

内部回滚                        = 383

死锁导致的内部回滚              = 0

MDC 表锁定暂挂清除数                       = 0

已删除的行                      = 9987832

已插入的行                      = 16042187

已更新的行                      = 17713932

已选择的行                      = 13286032965

已读取的行                      = 535422620252

已尝试的绑定/预编译             = 30

可用于数据库的日志空间(以字节计)       = 1343060826

数据库使用的日志空间(以字节计)         = 34301094

已用的最大辅助日志空间(以字节计)         = 1238369473

已用的最大总计日志空间(以字节计)         = 1363584193

当前已分配的辅助日志                       = 0

已读取的日志页                  = 459528

日志读取时间(秒.纳秒)                 = 34.079635521

已写入的日志页                  = 48170915

日志写入时间(秒.纳秒)                 = 47939.042018611

写日志 IO 的数目                        = 16445985

读取日志 IO 的数目                      = 57476

部分页面日志 IO 的数目                  = 8457991

日志缓冲区已满的数目                    = 16

缓冲区中找到的日志数据                  = 1474047

为了恢复而要重做的日志(以字节计)       = 47963380

由脏页产生的日志(以字节计)               = 42117445

节点号                                = 0

第一个活动日志的文件号                  = 2

最后一个活动日志的文件号                = 1

当前活动日志的文件号                    = 0

正被归档的日志的文件号                  = 不适用

程序包高速缓存查询              = 137478230

程序包高速缓存插入              = 6504799

程序包高速缓存溢出                       = 4

程序包高速缓存高水位标记(以字节计)     = 2084612394

应用程序节查找                    = 375177229

应用程序节插入                  = 54814860

目录高速缓存查询                = 112880326

目录高速缓存插入                = 1442

目录高速缓存溢出                = 0

目录高速缓存高水位标记                     = 14592021

目录高速缓存统计信息大小                        = 0

工作空间信息

散列连接数                               = 15300998

散列循环数                               = 2967

散列连接溢出数                           = 2913

小散列连接溢出数                         = 1097

后阈值散列连接(共享内存)              = 0

活动散列连接                            = 0

OLAP 函数的数目                            = 0

发生溢出的 OLAP 函数的数目                 = 0

处于活动状态的 OLAP 函数的数目             = 0

统计信息生成                                    = 未收集

同步 runstats                                   = 未收集

异步 runstats                                   = 未收集

生成统计信息耗用的总时间(毫秒)                = 未收集

同步 runstats 耗用的总时间(毫秒)              = 未收集

收起
软件开发 · 2015-11-24
浏览2071
长老长老系统运维工程师先达
我之前由于想重置计数器,就把这几个参数用命令修改为off了,再修改为on后就一直是暂挂值,这是什么原因呢,该如何处理?显示全部

QQ截图20151123153438.png


我之前由于想重置计数器,就把这几个参数用命令修改为off了,再修改为on后就一直是暂挂值,这是什么原因呢,该如何处理?

收起
软件开发 · 2015-11-23
浏览2023
请把性能监控结果,尤其是sql 信息整理一下发个附件出来显示全部

请把性能监控结果,尤其是sql 信息整理一下发个附件出来

收起
证券 · 2015-11-20
浏览2071
长老长老系统运维工程师先达
我执行db2 reset monitor all命令后执行下面这个命令,发现计数器没有重置呢SELECT VARCHAR (tabschema, 20) AS tabschema    , VARCHAR (tabname, 20) AS tabname    , sum(table_scans) table_scans    , sum (rows_read) AS total_rows...显示全部

我执行db2 reset monitor all命令后执行下面这个命令,发现计数器没有重置呢

SELECT VARCHAR (tabschema, 20) AS tabschema

    , VARCHAR (tabname, 20) AS tabname

    , sum(table_scans) table_scans

    , sum (rows_read) AS total_rows_read

    , sum (rows_inserted) AS total_rows_inserted

    , sum (rows_updated) AS total_rows_updated

    , sum (rows_deleted) AS total_rows_deleted

FROM TABLE (MON_GET_TABLE (\'\', \'\', -2)) AS t

  WHERE tabschema=\'ECO\'

GROUP BY tabschema, tabname

ORDER BY total_rows_read DESC

收起
软件开发 · 2015-11-19
浏览2085

提问者

长老
系统运维工程师先达
擅长领域: 数据库存储关系型数据库

相关问题

相关资料

问题状态

  • 发布时间:2015-11-18
  • 关注会员:7 人
  • 问题浏览:7722
  • 最近回答:2015-12-01
  • X社区推广