DB2 - Problem description
Problem IT02841 | Status: Closed |
INCORRECTLY PASSING VALUES INCLUDING SPACES TO DB2SET CAN LEAD TO DIFFERENT OUTPUT FROM DB2SET AND SYSIBMADM.REG_VARIABLES | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
When a value that includes a space is assigned to a DB2 registry variable using db2set the space must be passed to db2set as part of the single <variable>=<value> argument on the command line. Typically this means quoting the value so that the shell doesn't interpret the space as an argument separator. If the space isn't passed to db2set and instead two arguments are passed by the shell, and if the the second argument starts with a digit, is interpreted as a node number and the value from the first argument is set in the corresponding node specific registry. (The leading digits are interpreted as the node number, remaining characters are ignored.) This can lead to confusion as SYSIBMADM.REG_VARIABLES displays the node specific registry value but "db2set" (without arguments) doesn't. For example, if the following incorrect statement is run: db2set DB2_EXTENDED_OPTIMIZATION=UNIQUENESS 0.0001 then DB2_EXTENDED_OPTIMIZATION is set equal to "UNIQUENESS" in the node 0 registry. SYSIBMADM.REG_VARIABLES will display the value but "db2set" will not. To display or change node registry entries using db2set, pass the node number as the last argument, e.g. db2set 0 to display node 0's registry content. To unset the incorrectly set value, the following would need to be run: db2set DB2_EXTENDED_OPTIMIZATION= 0 Or use the correct statement using the value under quotes: db2set DB2_EXTENDED_OPTIMIZATION="UNIQUENESS 0.0001" is run, it will set the variable to "UNIQUENESS 0.0001" in the instance registry, as is the desired outcome. The node specific registry will be updated even for nodes that are not defined (e.g. single node instances). The node specific registry files can be found in sqllib/nodes. This APAR fix will attempt to detect cases where the second argument is not an integral node number and report the error. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users with 9.7 with Fix Pack version before Fix Pack 10 * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 10.1 Fix Pack 10 or later * **************************************************************** | |
Local Fix: | |
Set the registry variable using quotes and then restart the SQL interface. It will then return the correct value. | |
Solution | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 27.06.2014 10.11.2014 10.11.2014 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.10 |