软件开发数据库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 个回答freshgrass的回答

freshgrassfreshgrass软件开发工程师sinosoft
update SF_JSLSH_IDENTITY set DQLSH=DQLSH+1 where CZYH = :HV00009  :HI00009
这条语句导致的锁,你分析一下这条语句的执行计划吧
保险 · 2015-06-19
浏览1636

回答者

freshgrass
软件开发工程师sinosoft
擅长领域: 服务器系统优化数据库

freshgrass 最近回答过的问题

回答状态

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