DB2 - Problem description
Problem IC77357 | Status: Closed |
ADMIN_MOVE_TABLE WILL GIVE WRONG ERROR SQL2102N RC=12, WHEN IT FAILS TO ACQUIRE SEMAPHORE | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
Due to many DDL operations in INIT and SWAP phase, admin_move_table may fail if executed in parallel. If ADMIN_MOVE_TABLE fails to acquire semaphore for a table, it will give incorrect error: SQL2102N The ADMIN_MOVE_TABLE procedure could not be completed because of an internal failure during the execution of the procedure. Reason code: "12". Reason Code 12 An unexpected internal error has occurred. correct error would be this: SQL2102N The ADMIN_MOVE_TABLE procedure could not be completed because of an internal failure during the execution of the procedure. Reason code: "33". Reason Code 33 The maximum number of retries was exceeded when trying to acquire a semaphore. User response: 33 Wait until the conflicting move operation that is currently in progress releases the semaphore. To determine which table currently holds the semaphore run the below query: SELECT TABSCHEMA, TABNAME from SYSTOOLS.OTM_SEMAPHORE_TABLE where VALUE = 'SEM_LOCK' AND SEM_NAME = 'SEM_0' | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users of ADMIN_MOVE_TABLE * **************************************************************** * PROBLEM DESCRIPTION: * * Due to many DDL operations in INIT and SWAP phase, * * * * admin_move_table may fail if executed in parallel. * * * * * * * * If ADMIN_MOVE_TABLE fails to acquire semaphore for a table, * * it * * will give below incorrect error: * * * * * * * * SQL2102N The ADMIN_MOVE_TABLE procedure could not be * * completed * * because of an internal failure during the execution of the * * * * procedure. Reason code: "12". * * * * Reason Code 12 An unexpected internal error has occurred. * * * * * * * * correct error would be this: * * * * * * * * SQL2102N The ADMIN_MOVE_TABLE procedure could not be * * completed * * because of an internal failure during the execution of the * * * * procedure. Reason code: "33". * * * * * * * * Reason Code 33 * * * * The maximum number of retries was exceeded when trying to * * * * acquire a semaphore. * * * * * * * * User response: * * * * 33 * * * * Wait until the conflicting move operation that is * * currently in * * progress releases the semaphore. * * * * * * * * * * * * To determine which table currently holds the semaphore run * * the * * below query: * * * * * * * * SELECT TABSCHEMA, TABNAME from SYSTOOLS.OTM_SEMAPHORE_TABLE * * * * where VALUE = 'SEM_LOCK' AND SEM_NAME = 'SEM_0' * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 9.7 Fix Pack 5 * **************************************************************** | |
Local Fix: | |
Run admin_move_table after the conflicting move operation has completed. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in DB2 Version 9.7 Fix Pack 5 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 06.07.2011 07.12.2011 07.12.2011 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP5 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.5 |