DB2 - Problem description
Problem IC65566 | Status: Closed |
DB2ICRT CAN NOT CREATE INSTANCE DUE TO A DBI1703E ERROR. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 950 - DB2 | |
Problem description: | |
When you execute db2icrt, you might get the following error from db2icrt: # ./db2icrt -u fenceuser username ... snip ... 2009-12-03-16.39.07.166614+540 I15884A395 LEVEL: Error PID : 1122688 TID : 1 PROC : db2 INSTANCE: e97q1a NODE : 000 EDUID : 1 FUNCTION: DB2 UDB, command line process, clp_start_bp, probe:3 MESSAGE : CLP frontend unable to get REQUEST queue handle DATA #1 : Hexdump, 4 bytes 0x0FFFFFFFFFFFA6A8 : 870F 0042 ...B DBI1703E No valid service name or port number found. Explanation: No valid service name or port number for this instance can be found in the TCP/IP services file. This information is either missing or is invalid. If you installed "DB2 Extended Server Edition" product, a service name must be specified for the instance before using this command. User response: Specify valid service name and port number for this instance and enter this command again. DBI1079I Output is saved in the log file /tmp/db2icrt.log.1179922. Explanation: All processed and failed operations have been saved into this log file. User response: Do not modify this file in any way. This file is for IBM Technical Support reference. ./db2icrt: DB2INSTVER: parameter null or not set db2icrt tries to generate 4 consecutive ports that are not used by the system, starting from port 60000. db2icrt is doing that by searching /etc/services for the first port that is available. However, db2icrt will fail if, for example, only 3 ports are available and the forth consecutive port is not available. In this example the first available port is 60046, an it appears ports 60046 through 60049 are available, therefore db2icrt will try to use all 4 ports: This is an example /etc/services that can trigger the error: DB2_XXXXXX_2 60044/tcp DB2_XXXXXX_END 60045/tcp DB2_YYYYY 60050/tcp DB2_YYYYY_1 60051/tcp ... snip ... DB2_ZZZZZ_1 60047/tcp DB2_ZZZZZ_2 60048/tcp DB2_ZZZZZ_END 60049/tcp However, port 60047 is not really available and db2icrt will fail to bind it. In this case, instead of exiting with an error, db2icrt should continue testing ports from 60052 and up. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL. * **************************************************************** * PROBLEM DESCRIPTION: * * When you execute db2icrt, you might get the following error * * from * * db2icrt: * * * * * * * * # ./db2icrt -u fenceuser username * * * * ... snip ... * * * * 2009-12-03-16.39.07.166614+540 I15884A395 LEVEL: * * Error * * PID : 1122688 TID : 1 PROC : db2 * * * * INSTANCE: e97q1a NODE : 000 * * * * EDUID : 1 * * * * FUNCTION: DB2 UDB, command line process, clp_start_bp, * * probe:3 * * MESSAGE : CLP frontend unable to get REQUEST queue handle * * * * DATA #1 : Hexdump, 4 bytes * * * * 0x0FFFFFFFFFFFA6A8 : 870F 0042 * * * * ...B * * * * DBI1703E No valid service name or port number found. * * * * * * * * Explanation: * * * * * * * * No valid service name or port number for this instance can * * be * * found in * * * * the TCP/IP services file. This information is either missing * * or * * is * * * * invalid. * * * * * * * * If you installed "DB2 Extended Server Edition" product, a * * * * service name * * * * must be specified for the instance before using this * * command. * * * * * * User response: * * * * * * * * Specify valid service name and port number for this instance * * and * * enter * * * * this command again. * * * * * * * * DBI1079I Output is saved in the log file * * * * /tmp/db2icrt.log.1179922. * * * * * * * * Explanation: * * * * * * * * All processed and failed operations have been saved into * * this * * log file. * * * * * * * * User response: * * * * * * * * Do not modify this file in any way. This file is for IBM * * * * Technical * * * * Support reference. * * * * * * * * ./db2icrt: DB2INSTVER: parameter null or not set * * * * * * * * db2icrt tries to generate 4 consecutive ports that are not * * used * * by the system, starting from port 60000. * * * * db2icrt is doing that by searching /etc/services for the * * first * * port that is available. * * * * However, db2icrt will fail if, for example, only 3 ports are * * * * available and the forth consecutive port is not available. * * * * In this example the first available port is 60046, an it * * appears * * ports 60046 through 60049 are available, therefore db2icrt * * will * * try to use all 4 ports: * * * * * * * * This is an example /etc/services that can trigger the error: * * * * DB2_XXXXXX_2 60044/tcp * * * * DB2_XXXXXX_END 60045/tcp * * * * DB2_YYYYY 60050/tcp * * * * DB2_YYYYY_1 60051/tcp * * * * ... snip ... * * * * DB2_ZZZZZ_1 60047/tcp * * * * DB2_ZZZZZ_2 60048/tcp * * * * DB2_ZZZZZ_END 60049/tcp * * * * * * * * However, port 60047 is not really available and db2icrt will * * * * fail to bind it. In this case, instead of exiting with an * * error, * * db2icrt should continue testing ports from 60052 and up. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 UDB version 9.5 fixpack 6. * **************************************************************** | |
Local Fix: | |
Sort /etc/services by port number and if there are gaps with 3 or less consecutive ports available then add dummy entries for those ports. db2icrt will continue scanning /etc/services until the end of the file. | |
available fix packs: | |
DB2 Version 9.5 Fix Pack 6a for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in DB2 UDB Version 9.5 FixPack 6. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 13.01.2010 19.05.2010 19.05.2010 |
Problem solved at the following versions (IBM BugInfos) | |
9.5.FP6 | |
Problem solved according to the fixlist(s) of the following version(s) |