DB2 - Problem description
Problem IC95341 | Status: Closed |
DB2ICRT FAILS TO CREATE INSTANCE, WHILE SYMBOLIC LINKS FROM OTHER DB2 COPY CREATED WITH COMMAND DB2LN EXISTS IN THE SYSTEM | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
db2icrt command might fail to create instance, although it reports that completed successfully. Reason for error are symbolic links created with the db2ln command from other DB2 copy existing in the system. While hitting this issue, in output of db2icrt command you will notice that number of tasks to be performed is 3: DB2 installation is being initialized. Total number of tasks to be performed: 3 Total estimated time for all tasks to be performed: 9 second(s) Task #1 start Description: Setting default global profile registry variables Estimated time 1 second(s) Task #1 end Task #2 start Description: Initializing instance list Estimated time 5 second(s) Task #2 end Task #3 start Description: Updating global profile registry Estimated time 3 second(s) Task #3 end The execution completed successfully. Correct execution includes additional task Configuring DB2 instances: DB2 installation is being initialized. Total number of tasks to be performed: 4 Total estimated time for all tasks to be performed: 309 second(s) Task #1 start Description: Setting default global profile registry variables Estimated time 1 second(s) Task #1 end Task #2 start Description: Initializing instance list Estimated time 5 second(s) Task #2 end Task #3 start Description: Configuring DB2 instances Estimated time 300 second(s) Task #3 end Task #4 start Description: Updating global profile registry Estimated time 3 second(s) Task #4 end The execution completed successfully. To check if you hit this issue, you need to issue db2icrt command in debug mode (with -d switch). In trace file created you will notice: 1. DB2 copy from with link was created reported by function iIsFileLink 2. TaskCommitInstances::isNeeded EXIT returining UINT = 0 Below you can find trace snippet: 23013 |||/ 1 iIsLinkPathCorrect ENTRY Mon Feb 4 09:02:18 2013 -- , 23014 ||||/ 1 iIsFileLink ENTRY Mon Feb 4 09:02:18 2013 -- , 23015 ||||| 1 iIsFileLink 10 -DATA- , STRING = /usr/lib/libdb2.a 23016 ||||| 1 iIsFileLink 50 -DATA- , STRING = /opt/IBM/db2/V9.7/lib64/libdb2.a 23017 ||||\ 1 iIsFileLink EXIT Mon Feb 4 09:02:18 2013 -- , UINT = 1 23018 |||| 1 iIsLinkPathCorrect 10 -DATA- , STRING = /opt/IBM/db2/V9.7/lib64/libdb2.a 23019 ||||/ 1 iGetRealPath ENTRY Mon Feb 4 09:02:18 2013 -- , 23020 ||||| 1 iGetRealPath 10 -DATA- , STRING = /opt/IBM/db2/V10.1 23021 ||||| 1 iGetRealPath 20 -DATA- , STRING = /opt/IBM/db2/V9.7/lib64/libdb2.a 23022 ||||| 1 iGetRealPath 50 -DATA- , STRING = /opt/IBM/db2/V9.7/lib64 23023 ||||| 1 iGetRealPath 51 -DATA- , STRING = libdb2.a 23024 ||||| 1 iGetRealPath 60 -DATA- , STRING = /opt/IBM/db2/V9.7/lib64 23025 ||||| 1 iGetRealPath 70 -DATA- , STRING = /opt/IBM/db2/V9.7/lib64/libdb2.a 23026 ||||\ 1 iGetRealPath EXIT Mon Feb 4 09:02:18 2013 -- , INT = 0 23027 |||| 1 iIsLinkPathCorrect 20 -DATA- , STRING = /opt/IBM/db2/V9.7/lib64/libdb2.a 23028 ||||/ 1 iGetDB2InstallPath ENTRY Mon Feb 4 09:02:18 2013 -- , 23029 |||||/ 1 FilesetUtility::getDB2InstallPath ENTRY Mon Feb 4 09:02:18 2013 -- , 23030 |||||\ 1 FilesetUtility::getDB2InstallPath EXIT Mon Feb 4 09:02:18 2013 -- , INT = 0 23031 ||||| 1 iGetDB2InstallPath 40 -DATA- , STRING = /opt/IBM/db2/V10.1 23032 ||||\ 1 iGetDB2InstallPath EXIT Mon Feb 4 09:02:18 2013 -- , INT = 0 23033 |||| 1 iIsLinkPathCorrect 30 -DATA- , STRING = /opt/IBM/db2/V10.1 23034 ||||/ 1 iGetRealPath ENTRY Mon Feb 4 09:02:18 2013 -- , 23035 ||||| 1 iGetRealPath 10 -DATA- , STRING = /opt/IBM/db2/V10.1 23036 ||||| 1 iGetRealPath 20 -DATA- , STRING = /opt/IBM/db2/V10.1 23037 ||||| 1 iGetRealPath 60 -DATA- , STRING = /opt/IBM/db2/V10.1 23038 ||||| 1 iGetRealPath 70 -DATA- , STRING = /opt/IBM/db2/V10.1 23039 ||||\ 1 iGetRealPath EXIT Mon Feb 4 09:02:18 2013 -- , INT = 0 23040 |||| 1 iIsLinkPathCorrect 40 -DATA- , STRING = /opt/IBM/db2/V10.1 23041 |||\ 1 iIsLinkPathCorrect EXIT Mon Feb 4 09:02:18 2013 -- , UINT = 0 23042 ||| 1 TaskCommitInstances::isNeeded 30 -DATA- , STRING = 23043 ||\ 1 TaskCommitInstances::isNeeded EXIT Mon Feb 4 09:02:18 2013 -- , UINT = 0 You can also check if symbolic links exists, by executing command: find /usr/lib -type l -ls |grep "db2" . In output you will notice entry similar to the following: /usr/lib/libdb2.a -> /opt/IBM/db2/V9.7/lib64/libdb2.a | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Linux, UNIX * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 10.5 fixpack 3 * **************************************************************** | |
Local Fix: | |
To fix the problem, you need to remove symbolic links by executing db2rmln command from DB2 copy for witch links were created. To determine correct DB2 copy, you need: 1. either inspect db2icrt trace file for iIsFileLink 50 -DATA- entry (in example STRING = /opt/IBM/db2/V9.7/lib64/libdb2.a), 2. or issue command find /usr/lib -type l -ls |grep "db2" and inspect output to get file location (in example /opt/IBM/db2/V9.7/lib64/libdb2.a). Once you will determine DB2 copy for witch symbolic links exists (in example /opt/IBM/db2/V9.7/), you will need to execute following command to remove links: /opt/IBM/db2/V9.7B/cfg/db2rmln | |
available fix packs: | |
DB2 Version 10.5 Fix Pack 3 for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in DB2 version 10.5 fixpack 3 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 27.08.2013 27.02.2014 27.02.2014 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.3 | |
10.5.0.3 |