How to ensure TMTM services find the right database client (Oracle or DB2) DLLs


When running TrueSight Middleware and Transaction Monitoron Windows Server 2016/2019 with DB2 or Oracle client, TrueSight Middleware and Transaction Monitor services that are registered to run as Windows services under the System Local account will fail to start because Windows Server 2016 uses the following registry entry to get the PATH for programs executing under the System Local authority:

HKEY_USERS\S-1-5-18\Environment\Path

Unfortunately, neither DB2 Client Installer nor Oracle Client Installer add their target directories to HKEY_USERS\S-1-5-18\Environment\Path. As a result, it needs to be set manually.

For example, for DB2 Client 11.1, the registry entry should be as follows under the assumption that the DB2 client was installed into its default directory:

%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;C:\PROGRA~1\IBM\SQLLIB\BIN;C:\PROGRA~1\IBM\SQLLIB\FUNCTION;C:\PROGRA~1\IBM\SQLLIB\SAMPLES\REPL;C:\PROGRA~1\IBM\SQLLIB\security\plugin\IBM\client

If DB2 server is also installed on the same system, the registry entry should be as follows under the assumption that the DB2 server was installed into its default directory: 

%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;C:\PROGRA~1\IBM\SQLLIB\BIN;C:\PROGRA~1\IBM\SQLLIB\FUNCTION;C:\PROGRA~1\IBM\SQLLIB\SAMPLES\REPL;C:\PROGRA~1\IBM\SQLLIB\BIN\ICC

If IBM GS Kit 8 (GSK8) is installed as part of, say, MQ Series or Tivoli, the registry entry should be as follows: 

%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;C:\PROGRA~1\IBM\SQLLIB\BIN;C:\PROGRA~1\IBM\SQLLIB\FUNCTION;C:\PROGRA~1\IBM\SQLLIB\SAMPLES\REPL;C:\PROGRA~1\IBM\SQLLIB\security\plugin\IBM\client;c:\Program
Files\ibm\gsk8\lib64

The registry entry in the case of Oracle Client should be set in a way similar to the DB2 Client - all client target directories that normally get added to the system-wide PATH should also be added to the registry entry: 

%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;C:\app\oracle\product\12.1.0\client_1\bin

These registry modifications enable TrueSight Middleware and Transaction Monitor services to find the right database client (Oracle or DB2) DLLs and connect to the TrueSight Middleware and Transaction Monitor database. 

The general concept behind the modification is that all directories that DB2 Client and Oracle Client Installers add to the system-wide PATH should be mirrored in HKEY_USERS\S-1-5-18\Environment\Path.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*