软件开发 数据库db2 9.7

DB2死锁,求解

业务系统频繁死锁回退,(2),40001错误deadlock.txt是监控报告。1.txt是cfg无解了,因为抓出来报告每个进程只有1个语句,,,按说所有的死锁都是两两语句互锁被死锁的表结构和索引如下:CREATE TABLE "DB2INST2"."SF_JSLSH_IDENTITY" ("ID"    INTEGER  NOT NULL&n... 显示全部
业务系统频繁死锁回退,(2),40001错误

deadlock.txt是监控报告。1.txt是cfg
无解了,因为抓出来报告每个进程只有1个语句,,,按说所有的死锁都是两两语句互锁


被死锁的表结构和索引如下:


CREATE TABLE "DB2INST2"."SF_JSLSH_IDENTITY"
("ID"    INTEGER  NOT NULL  GENERATED BY DEFAULT
    AS IDENTITY (START WITH 1, INCREMENT BY 1, CACHE 20, MINVALUE 1, MAXVALUE 999999, NO CYCLE, NO ORDER),
  "CZYH"  INTEGER,
  "DQLSH" BIGINT             DEFAULT 0
)
  DATA CAPTURE NONE
IN "MZSPACE"
INDEX IN "IDX4KSPACE";

ALTER TABLE "DB2INST2"."SF_JSLSH_IDENTITY"
  LOCKSIZE ROW
  APPEND OFF
  NOT VOLATILE
  LOG INDEX BUILD NULL;

ALTER TABLE "DB2INST2"."SF_JSLSH_IDENTITY"
  ADD CONSTRAINT "PK_SF_LSH_IDEN" PRIMARY KEY
   ("ID"
   );


CREATE INDEX "DB2INST2"."IDX_SF_JSLSH_IDENTITY_CZYH"
  ON "DB2INST2"."SF_JSLSH_IDENTITY"
("CZYH" ASC
)
  PCTFREE 10
  ALLOW REVERSE SCANS;

附件:

附件图标 deadlock.txt (17.21 KB)

附件图标 cfg.txt (8.82 KB)

收起
参与18

查看其它 6 个回答yinxin 的回答

yinxin yinxin 项目经理 某金融机构
先定位一下是哪个程序句柄导致的死锁。

方法一、查看db2diag.log文件
找到DeadLock or Lock timeout 死锁或锁超时信息
db2 force application(句柄ID)
直接结束进程即可。

方法二、DB2快照信息
1、看一下DB2快照信息

db2 get snapshot for locks on sample
可以得到类似信息:
数据库锁定快照
数据库名称 = SAMPLE
数据库路径 = D:\IBM\DB2\NODE0000\SQL00001\
输入数据库别名 = SAMPLE
挂起的锁定 = 8
当前已连接的应用程序 = 2
当前正等待锁定的代理程序数 = 1
应用程序句柄 = 54
应用程序标识 = *LOCAL.DB2.140304192925
序号 = 00001
应用程序名 = db2bp.exe CONNECT
授权标识 = DB2ADMIN
应用程序状态 = 锁定等待
应用程序代码页 = 1208
挂起的锁定 = 4
总计等待时间(毫秒) = 247867

锁定列表

锁定名称 = 0x5359534C564C3031DDECEF2841
锁定属性 = 0x00000000
发行版标志 = 0x40000000
锁定计数 = 1
挂起计数 = 0
锁定对象名 = 2312
对象类型 = 行
表空间名 = IBMDB2SAMPLEREL
表模式 = DB2ADMIN
表名 = TEST
方式 = IX

查看锁定的详细信息:db2 get snapshot for locks for application agentid 1728
----(1728是句柄ID)

3、观察命令db2 list applications的输出
查看应用程序的状态是否有锁定等待(Lock-wait)状态出现。
执行命令 list applications for db sample show detail;
4、db2 force application(句柄ID)
直接结束进程即可。
银行 · 2015-06-19
浏览1743

回答者

yinxin
yinxin 4 7 17
项目经理 某金融机构
擅长领域: 数据库服务器云计算
评论1634

yinxin 最近回答过的问题

回答状态

  • 发布时间:2015-06-19
  • 关注会员:1 人
  • 回答浏览:1743
  • X社区推广