DB2 - Problem description
Problem IT04436 | Status: Closed |
INSTALLFIXPACK FAILED WITH MAJOR ERROR AS PROCESSES RUNNING IN THE MEMORY THAT WERE HOLDING THE DB2 BINARIES. | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
Installfixpack failed with major error because there were few processes running in the memory that were holding the db2 binaries. Following files. db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2dasapi.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2dascmn.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2g11n.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2genreg.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2install.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2locale.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2osse.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2osse_db2.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2sec.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2trcapi.a': error: 26(Text file busy) Therefore when db2chgpath was called in the installfixpack flow to update the embedded path of these binaries it failed with text file busy as these binaries were still being used in the memory. Installfixpack takes a backup of the existing installation files and then starts the installation of the new binaries, if there is a major error failure at some point during the installation of the new binaries, the deployed new binaries are rolled backed and the backup of the old files is restored. In this particular case were db2chgpath is failing inside installfixpack the rollback of the deployed new files happens but the restore of the backup is not happening therefore the files go missing. | |
Problem Summary: | |
INSTALLFIXPACK FAILED WITH MAJOR ERROR AS PROCESSES RUNNING IN THE MEMORY THAT WERE HOLDING THE DB2 BINARIES. | |
Local Fix: | |
To avoid this situation we need to make sure that no DB2 processes are running or active before we start Fix pack or Special Build upgrade. "ps -ef | grep -i db2" "genld -l | grep db2" can be used to find out if any db2 libraries are still loaded in the memory. If you have hit this issue can look to use the following example to fix this issue: ./db2_install -b /usr/IBM/dwe/db2/V10.1.0.2..1 cd /usr/IBM/dwe/db2/V10.1.0.2..1/instance/ ./db2iupdt db2inst9 | |
Solution | |
Error Description ---------------------------------------------------------------- ------------------ Installfixpack failed with major error because there were few processes running in the memory that were holding the db2 binaries. Following files. db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2dasapi.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2dascmn.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2g11n.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2genreg.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2install.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2locale.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2osse.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2osse_db2.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2sec.a': error: 26(Text file busy) db2chglibpath: Unable to open file for write: '/usr/IBM/dwe/db2/V10.1.0.2..1/lib64/libdb2trcapi.a': error: 26(Text file busy) Therefore when db2chgpath was called in the installfixpack flow to update the embedded path of these binaries it failed with text file busy as these binaries were still being used in the memory. Installfixpack takes a backup of the existing installation files and then starts the installation of the new binaries, if there is a major error failure at some point during the installation of the new binaries, the deployed new binaries are rolled backed and the backup of the old files is restored. In this particular case were db2chgpath is failing inside installfixpack the rollback of the deployed new files happens but the restore of the backup is not happening therefore the files go missing. | |
Workaround | |
To avoid this situation we need to make sure that no DB2 processes are running or active before we start Fix pack or Special Build upgrade. "ps -ef | grep -i db2" "genld -l | grep db2" can be used to find out if any db2 libraries are still loaded in the memory. If you have hit this issue can look to use the following example to fix this issue: ./db2_install -b /usr/IBM/dwe/db2/V10.1.0.2..1 cd /usr/IBM/dwe/db2/V10.1.0.2..1/instance/ ./db2iupdt db2inst9 | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 17.09.2014 07.01.2015 07.01.2015 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.5 |