DB2 - Problem description
Problem IC66653 | Status: Closed |
DB2 INSTANCE ENDS ABNORMALLY COMPILING QUERY WITH A LARGE NUMBER OF UNIONS | |
product: | |
DB2 FOR LUW / DB2FORLUW / 980 - DB2 | |
Problem description: | |
Compiling a query with a large number of UNIONs may result in a stack overflow and termination of the DB2 instance. The call stack looks similar to this example from Linux: 0000002A97833854 _Z24sqlnq_process_connect_byP9sqlnq_qtbP3loc + 0x001c (/ms/dist/ibmdb2/PROJ/ds/9.5.4.4/.exec/x86_64.linux.2.6.glibc.2. 3/lib64/libdb2e.so.1) 0000002A97835D77 _Z24sqlnq_process_connect_byP9sqlnq_qtbP3loc + 0x253f (/ms/dist/ibmdb2/PROJ/ds/9.5.4.4/.exec/x86_64.linux.2.6.glibc.2. 3/lib64/libdb2e.so.1) 0000002A97835D77 _Z24sqlnq_process_connect_byP9sqlnq_qtbP3loc + 0x253f (/ms/dist/ibmdb2/PROJ/ds/9.5.4.4/.exec/x86_64.linux.2.6.glibc.2. 3/lib64/libdb2e.so.1) 0000002A97835D77 _Z24sqlnq_process_connect_byP9sqlnq_qtbP3loc + 0x253f (/ms/dist/ibmdb2/PROJ/ds/9.5.4.4/.exec/x86_64.linux.2.6.glibc.2. 3/lib64/libdb2e.so.1) ... For this problem to occur, the DB2_COMPATIBILITY_VECTOR registry variable must have the hierarchical query bit set (bit 4), e.g.: DB2_COMPATIBILITY_VECTOR=08 or DB2_COMPATIBILITY_VECTOR=ORA But the query does not necessarily have to use hierarchical queries (i.e. a CONNECT BY clause). | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * Compiling a query with a large number of UNIONs may result * * in a * * stack overflow and termination of the DB2 instance. The * * call * * stack looks similar to this example from Linux: * * * * * * * * 0000002A97833854 * * _Z24sqlnq_process_connect_byP9sqlnq_qtbP3loc * * + 0x001c * * * * * * * * (/ms/dist/ibmdb2/PROJ/ds/9.5.4.4/.exec/x86_64.linux.2.6.glibc. * 3/lib64/libdb2e.so.1) * * * * 0000002A97835D77 * * _Z24sqlnq_process_connect_byP9sqlnq_qtbP3loc * * + 0x253f * * * * * * * * (/ms/dist/ibmdb2/PROJ/ds/9.5.4.4/.exec/x86_64.linux.2.6.glibc. * 3/lib64/libdb2e.so.1) * * * * 0000002A97835D77 * * _Z24sqlnq_process_connect_byP9sqlnq_qtbP3loc * * + 0x253f * * * * * * * * (/ms/dist/ibmdb2/PROJ/ds/9.5.4.4/.exec/x86_64.linux.2.6.glibc. * 3/lib64/libdb2e.so.1) * * * * 0000002A97835D77 * * _Z24sqlnq_process_connect_byP9sqlnq_qtbP3loc * * + 0x253f * * * * * * * * (/ms/dist/ibmdb2/PROJ/ds/9.5.4.4/.exec/x86_64.linux.2.6.glibc. * 3/lib64/libdb2e.so.1) * * * * ... * * * * * * * * For this problem to occur, the DB2_COMPATIBILITY_VECTOR * * registry * * variable must have the hierarchical query bit set (bit 4), * * e.g.: * * * * * * DB2_COMPATIBILITY_VECTOR=08 * * * * * * * * or * * * * * * * * DB2_COMPATIBILITY_VECTOR=ORA * * * * * * * * But the query does not necessarily have to use hierarchical * * * * queries (i.e. a CONNECT BY clause). * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 9.8 fix pack 3 * **************************************************************** | |
Local Fix: | |
Disable hierarchical queries if not needed by unsetting bit 4 in DB2_COMPATIBILITY_VECTOR. Alternatively, rewrite the query to reduce the number of UNIONs. | |
available fix packs: | |
DB2 Version 9.8 Fix Pack 3 for Linux, UNIX, and Windows | |
Solution | |
First fixed in DB2 version 9.8 fix pack 3 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 24.02.2010 20.12.2010 20.12.2010 |
Problem solved at the following versions (IBM BugInfos) | |
9.8.FP3 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.8.0.3 |