DB2 - Problembeschreibung
Problem IC92146 | Status: Geschlossen |
MULTIPLE DETACH PARTITION FROM THE SAME UNIT OF WORK WILL DEADLOCK WITH EACH OTHER | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / A10 - DB2 | |
Problembeschreibung: | |
When performing a multiple detach partition on a partitioned table, in the same unit of work, the Asynchronous Partition Detach (APD) processes with each other. The APD function locks the row in SYSIBM.SYSTABLES for the partitioned table with an NS lock. Later, the process will need to lock this row in X-clusive mode to update the packed descriptor. This is will cause a deadlock between the two APD tasks. Here is the stack for when DB2 acquires the X-lock on the row in SYSIBM.SYSTABLES: sqlrlLockSystablesRow sqlrlSysPartitionsAdjustSeqno sqlrlSysPartitionsDelete sqlrlAlterDropCatalogChange sqlrlAlterDetachCatalogChange sqlrlAlterPartCatalog sqlrlPhysicalDetach apdTaskProcessor | |
Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * All users * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 10.1.0.3. * **************************************************************** | |
Local-Fix: | |
If you hit this problem and are concerned that you cannot reclaim the space by dropping or archiving the detached partition there are two workarounds available each with their own pros and cons. Workaround 1: Pros: No need to recycle the instance if LockTimeout is already set to -1. Cons: Need to export the data from the table and recreate it. Workaround: - Set LockTimeout to -1 using the UPDATE DATABASE CONFIGURATION command. - Recycle the instance using db2stop and db2start. - Drop the partitioned table. Workaround 2: Pros: No need to recreate the table. Cons: - Need to recycle the instance - Time required for the system to resolve itself using this method may vary based on timing and the number system jobs to complete. Workaround: - Set LockTimeout to -1 using the UPDATE DATABASE CONFIGURATION command. - Set DLChkTime to 1000 (i.e. 1000 ms or 1 s) using UPDATE DATABASE CONFIGURATION and set DB2_ABP_SUSPEND_DELAY to 3 (i.e. 3 seconds) using db2set. - Recycle the instance using db2stop and db2start. - Connect to the database and wait for the system to resolve itself. Monitor SysCat.DataPartitions until there are no partitions left with STATUS='L'. | |
verfügbare FixPacks: | |
DB2 Version 10.1 Fix Pack 3 for Linux, UNIX, and Windows | |
Lösung | |
The problem is first fixed in DB2 version 10.1.0.3. | |
Workaround | |
keiner bekannt / siehe Local-Fix | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 07.05.2013 01.10.2013 19.06.2014 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
Problem behoben lt. FixList in der Version | |
10.1.0.3 | |
10.1.0.3 |