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 |
|