IBM Support

Adding members/CFs in pureScale with db2iupdt command may fail if /tmp filesystem is mounted with noexec

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.

 

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

UID

ibm13286005