DB2 - Problem description
Problem IC71120 | Status: Closed |
VISUAL EXPLAIN CRASHES WHEN ACCESS PLAN CONTAINS AN ISCAN. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
When we try to get the access plan from Visual Explain for a query that contains an IXSCAN, Visual Explain crashes. An example of a simple query that exhibits this behaviour is: SELECT POLICY FROM SYSTOOLS.POLICY Using Visual Explain, the client v9x talks to the server instance v91 fp9, and Visual Explain crashes. You can verify if you are encountering this problem by obtaining a db2exfmt explain of the query: 1) ensure the explain tables have been created, if not previously used: - connect to the database, and use "db2 -tvf sqllib/misc/EXPLAIN.DDL" 2) connect to the database, and generate the explain for the query using the explain statement: - explain plan for ...sql_statement... - where "...sql_statement..." is replaced by the sql statement that you want to check. 3) use the db2exfmt utility to format the generated plan: - db2exfmt -d ...db_name... -1 -o check_plan.exfmt - where "...db_name..." is replaced with the database name. If password authentication is needed, you may be prompted for a userid and password. 4) edit or grep the explain format utility's out to determine if there is an IXSCAN operator: - grep IXSCAN check_plan.exfmt 5) If the above check indicates there is one or more IXSCAN operators found in the explain, then you have encountered this APAR. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * When we try to get the access plan from Visual Explain for a * * query that contains an IXSCAN, Visual Explain crashes. * * * * You can verify if you are encountering this problem by * * obtaining a db2exfmt explain of the query: * * * * 1) ensure the explain tables have been created, if not * * previously used: * * * * - connect to the database, and use "db2 -tvf * * sqllib/misc/EXPLAIN.DDL" * * * * 2) connect to the database, and generate the explain for the * * query using the explain statement: * * * * - explain plan for ...sql_statement... * * - where "...sql_statement..." is replaced by the sql * * statement that you want to check. * * * * 3) use the db2exfmt utility to format the generated plan: * * * * - db2exfmt -d ...db_name... -1 -o check_plan.exfmt * * - where "...db_name..." is replaced with the database * * name. If password authentication is needed, you may be * * prompted for a userid and password. * * * * 4) edit or grep the explain format utility's out to * * determine if there is an IXSCAN operator: * * * * - grep IXSCAN check_plan.exfmt * * * * 5) If the above check indicates there is one or more IXSCAN * * operators found in the explain, then you have encountered * * this APAR. * **************************************************************** * RECOMMENDATION: * * Upgrade to version 9.7 FixPack4 * **************************************************************** | |
Local Fix: | |
Use the db2exfmt utility, or the Optim tools (for DB2 V9.1 and on), to obtain the explain instead of Visual Explain. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows | |
Solution | |
This was first fixed by V97 FP4 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 13.09.2010 02.05.2011 02.05.2011 |
Problem solved at the following versions (IBM BugInfos) | |
9.7., 9.7.FP4 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.4 |