Technical Blog Post
Abstract
Adding members/CFs in pureScale with db2iupdt command may fail if /tmp filesystem is mounted with noexec
Body
Using db2iupdt to add a member of CF (For example, db2iupdt -add -m xx -mnet yy db2inst1) failed with
the following error
DB2 Setup log file started at: <timestamp>
==============================
Operating system information: Linux xxxx .x86_64.#1 SMP time x86_64
ERROR: The DB2prereqcheck tool found errors.For detailed information please check /tmp/db2prereqcheckOut.log file
ERROR: The "db2iupdt" command failed. Ensure that errors reported in the log
file are fixed, then rerun the command.
However, in /tmp/db2prereqcheckOut.log, no errors are found, instead it reports the following:
DBT3533I The db2prereqcheck utility has confirmed that all installation prerequisites were met.
To diagnose the issue, "-d" option can be added to db2iupdt to take debug output. And the following can be found in the trace:
2018-09-01-21:33:06 2184025920 EXIT UserManager::getUserID - , INT = 0 }
2018-09-01-21:33:06 2184025920 EXIT IUser::getUID - , INT = 0 }
2018-09-01-21:33:06 2184025920 EXIT URE::getURERunnerUid - , INT = 0 }
2018-09-01-21:33:06 2184025920 EXIT URE::isURERunnerRoot - , UINT = 1 }
2018-09-01-21:33:06 2184025920 -DATA- 90 InstallProcess::executeLocal - , STRING = cd /db2/DB2v11.1.2.2.FP.2a_ibm/sd/db2/linuxamd64/install;./db2prereqcheck -l -p -o /tmp/db2prereqcheckOut.log -hl host1, -nm host1_ic0,host1_ic1, -iu db2inst1 -strict 1> /tmp/db2io4jDCsm 2> /tmp/db2ie0c1LZU
2018-09-01-21:33:10 2184025920 -DATA- 100 InstallProcess::executeLocal - , INT = 65280
2018-09-01-21:33:10 2184025920 -DATA- 110 InstallProcess::executeLocal - , STRING = WEXITSTATUS
In the output file /tmp/db2io4jDCsm and /tmp/db2ie0c1LZU, you can find the following error:
/tmp/db2prereq/db2prereqcheck: Permission Denied
The above error indicates Db2 command received "Permission Denied" error when trying to execute the script.
Create a test script in /tmp directory and check if it can be executed or receive the same error. For instance
$ cat test.sh
echo "Hello"
Also verify that /tmp is not mounted with noexec option with mount command. If it is mounted with noexec option, you can correct it
mount -o remount,exec,<other options> /tmp
After fixing the above error, reissue db2iupdt command to add pureScale members or CFs.
UID
ibm13286005