DB2 - Problem description
Problem IC75112 | Status: Closed |
DB2 MIGHT ENCOUNTER 'DEADLOCK' ERROR WHEN PERFORMING DROP TABLE AND RENAME TABLE SIMULTANEOUSLY. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
When concurrently perform RENAME TABLE and DROP TABLE on two different tables but with similar namings, the two statements may lead to a deadlock among the catalog tables, SYSIBM.SYSVIEWDEP and SYSIBM.SYSDEPENDENCIES. The problem is more likely to happen if the table being dropped has dependent views and other objects (e.g. index or trigger) defined on it. To identify the problem, you need to use DB2 event monitor to collect detailed information for deadlocks. When the deadlock error occurs, in the event monitor output you will see the following entries: Table of lock waited on : SYSDEPENDENCIES Schema of lock waited on : SYSIBM Data partition id for table : 0 Tablespace of lock waited on : SYSCATSPACE Type of lock: End of table Mode of lock: U - Update Mode application requested on lock: U - Update Text : RENAME TABLE NEWTON.T1 Table of lock waited on : SYSVIEWDEP Schema of lock waited on : SYSIBM Data partition id for table : 0 Tablespace of lock waited on : SYSCATSPACE Type of lock: Row Mode of lock: S - Share Mode application requested on lock: X - Exclusive Text : DROP TABLE NEWTON.T2 | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users of version 9.7 on Linux, Unix and Windows * * platforms. * **************************************************************** * PROBLEM DESCRIPTION: * * When concurrently perform RENAME TABLE and DROP TABLE on two * * different tables but with similar namings, the two * * statements may lead to a deadlock among the catalog tables, * * SYSIBM.SYSVIEWDEP and SYSIBM.SYSDEPENDENCIES. * * The problem is more likely to happen if the table being * * dropped has dependent views and other objects (e.g. index or * * trigger) defined on it. * * * * To identify the problem, you need to use DB2 event monitor * * to collect detailed information for deadlocks. * * When the deadlock error occurs, in the event monitor output * * you will see the following entries: * * * * * * Table of lock waited on : SYSDEPENDENCIES * * Schema of lock waited on : SYSIBM * * Data partition id for table : 0 * * Tablespace of lock waited on : SYSCATSPACE * * Type of lock: End of table * * Mode of lock: U - Update * * Mode application requested on lock: U - Update * * Text : RENAME TABLE NEWTON.T1 * * * * Table of lock waited on : SYSVIEWDEP * * Schema of lock waited on : SYSIBM * * Data partition id for table : 0 * * Tablespace of lock waited on : SYSCATSPACE * * Type of lock: Row * * Mode of lock: S - Share * * Mode application requested on lock: X - Exclusive * * Text : DROP TABLE NEWTON.T2 * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 LUW Version 9.7 FixPak 5 or higher levels. * **************************************************************** | |
Local Fix: | |
Perform DROP TABLE statement and RENAME TABLE statement sequentially. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
Solution | |
First fixed in DB2 LUW Version 9.7 FixPak 5. | |
Workaround | |
Perform DROP TABLE statement and RENAME TABLE statement sequentially. | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 17.03.2011 19.01.2012 19.01.2012 |
Problem solved at the following versions (IBM BugInfos) | |
9.7. | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.5 |