涉及的表是父/子,子表已索引FK.
父:PK_FMS_FC_MAIN_FLD_input_liMIT
智利:FMS_FC_REL_FLD_input_liMIT
Deadlock graph: ---------Blocker(s)-------- ---------Waiter(s)---------Resource name process session holds waits process session holds waitsTX-0019000b-0000b486 22 2755 X 57 492 STX-00010019-00061e13 57 492 X 22 2755 Ssession 2755: DID 0001-0016-00000FCE session 492: DID 0001-0039-00000719 session 492: DID 0001-0039-00000719 session 2755: DID 0001-0016-00000FCE Rows waited on: Session 2755: obj - rowID = 000DB256 - AADbJWABbAAAYJQAAA (dictionary objn - 897622,file - 91,block - 98896,slot - 0) Session 492: no row----- information for the OTHER waiting sessions -----Session 492: sID: 492 ser: 2757 audsID: 132281277 user: 364/GKS_IM_9990740 flags: (0x41) USR/- flags_IDl: (0x1) BSY/-/-/-/-/- flags2: (0x40009) -/-/INC pID: 57 O/S info: user: grID,term: UNKNowN,ospID: 16372 image: oracle@hgksdb01 clIEnt details: O/S info: user: imart,term: unkNown,ospID: 1234 machine: hgkswa05 program: JDBC Thin ClIEnt application name: JDBC Thin ClIEnt,hash value=2546894660 current sql: DELETE FROM FMS_FC_MAIN_FLD_input_liMIT MAIN WHERE MAIN.ID = :B1 ----- End of information for the OTHER waiting sessions -----information for THIS session:----- Current sql Statement for this session (sql_ID=56azrvwd48huf) -----INSERT INTO FMS_FC_REL_FLD_input_liMIT( ID,RELATION_FIELD_MASTER_CD,CREATE_USER_CD,CREATE_DATE,RECORD_USER_CD,RECORD_DATE ) VALUES( :B4,:B3,:B2,SYSDATE,:B1,SYSDATE )----- PL/sql Stack ---------- PL/sql Call Stack ----- object line object handle number name0x1f37f7a58 462 package body GKS_IM_9990740.ZPKG_PRJ_FLDREL0x1ed1a9d38 1 anonymous block===================================================CREATE table GKS_IM_9990740.FMS_FC_MAIN_FLD_input_liMIT(ID NUMBER(18,0) NOT NulL,COMPANY_CD VARCHAR2(100) NOT NulL,MAIN_FIELD_TYPE VARCHAR2(100) NOT NulL,RELATION_FIELD_TYPE VARCHAR2(100) NOT NulL,START_DATE DATE NOT NulL,MAIN_FIELD_MASTER_CD VARCHAR2(1000) NOT NulL,MAIN_FIELD_SUB_CD VARCHAR2(1000),IS_input_ENABLE VARCHAR2(1) NOT NulL,IS_input_COmpuLSORY VARCHAR2(1) NOT NulL,DEFAulT_VALUE VARCHAR2(1000),IS_input_liMIT VARCHAR2(1) NOT NulL,CREATE_USER_CD VARCHAR2(100) NOT NulL,CREATE_DATE TIMESTAMP(6) NOT NulL,RECORD_USER_CD VARCHAR2(100),RECORD_DATE TIMESTAMP(6),CONSTRAINT PK_FMS_FC_MAIN_FLD_input_liMIT PRIMARY KEY (ID) USING INDEXPCTFREE 10INITRANS 2MAXTRANS 255tableSPACE FMS_DATASTORAGE(INITIAL 64K NEXT 1M mineXTENTS 1 MAXEXTENTS 2147483645 BUFFER_POol DEFAulT)LOGGING)CREATE table GKS_IM_9990740.FMS_FC_REL_FLD_input_liMIT(ID NUMBER(18,RELATION_FIELD_MASTER_CD VARCHAR2(1000) NOT NulL,CONSTRAINT PK_FMS_FC_REL_FLD_input_liMIT PRIMARY KEY (ID,RELATION_FIELD_MASTER_CD) USING INDEXPCTFREE 10INITRANS 2MAXTRANS 255tableSPACE FMS_DATASTORAGE(INITIAL 64K NEXT 1M mineXTENTS 1 MAXEXTENTS 2147483645 BUFFER_POol DEFAulT)LOGGING,CONSTRAINT FK_FMS_FC_REL_FLD_input_liMIT0 FOREIGN KEY (ID) REFERENCES GKS_IM_9990740.FMS_FC_MAIN_FLD_input_liMIT (ID))PCTFREE 10MAXTRANS 255tableSPACE FMS_DATASTORAGE(INITIAL 64K NEXT 1M mineXTENTS 1 MAXEXTENTS 2147483645 BUFFER_POol DEFAulT)NOCACHELOGGINGCREATE INDEX "GKS_IM_9990740"."FK_FMS_FC_REL_FLD_input_liMIT" ON "GKS_IM_9990740"."FMS_FC_REL_FLD_input_liMIT"("ID")PCTFREE 10 INITRANS 2 MAXTRANS 255 COmpuTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 mineXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREEListS 1 FREEList GROUPS 1 BUFFER_POol DEFAulT FLASH_CACHE DEFAulT CELL_FLASH_CACHE DEFAulT)tableSPACE "FMS_DATA" ;解决方法 一些想法:
1.)由于涉及死锁的队列是TX,而不是TM,这与未编入索引的外键问题无关.
2.)由于会话正在等待TX’S'(共享)模式,这不是行级锁定问题.
3.)由于涉及的一个语句是INSERT,因此ITL插槽短缺不会成为问题.
所以,鉴于上述情况,我最好的猜测是:
对于删除,位图索引或ITL插槽不足.
对于插入,重叠pk / uk.
希望有所帮助….
总结以上是内存溢出为你收集整理的oracle死锁父/子和孩子索引了FK全部内容,希望文章能够帮你解决oracle死锁父/子和孩子索引了FK所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)