IBM Support

Linux prerequisites for executing 32-bit Content Manager stored procedures in DB2 (64-bit)

Troubleshooting


Problem

Operating system prerequisites needed to run 32-bit Content Manager stored procedures in a 64-bit DB2 instance.

Symptom


Content Manager stored procedure may return the error below on 64-bit Linux environments.

MESSAGE:
<CTE0100 A DB2 operation failed. DB2 information: "38503"
"[IBM][CLI Driver][DB2/LINUXX8664] SQL0430N User defined function
"ICMADMIN.ICMFILTER" (specific name "SQL110624064310407") has abnormally
terminated. SQLSTATE=38503".>

ICMPLSTI printTEventTableMsg 05258 06/24 03:29:49.688 GMT
;24032945636027 a9:130bfb23585:X7fec ICMADMIN Messases from eventtable
TIMESTAMP: <2011-06-24-11.29.49.630909>
MESSAGE: <CTE0003 Index update started>
ICMPLSTI printTEventTableMsg 05268 06/24 03:29:49.688 GMT
;24032945636027 a9:130bfb23585:X7fec ICMADMIN Exit return rc=0
ICMPLSTI defineTIEIndex 02691 06/24 03:29:49.688 GMT ;24032945636027
a9:130bfb23585:X7fec ICMADMIN Error executing TIE command
Command string </bin/ksh -c "db2text \"update index
ICMADMIN.ICMUU01020001001 for text connect to icmnlsdb user ICMADMIN
using 118327fix\" >

/home/ibmcmadm/cmgmt/ls/icmnlsdb/ICMUU01020001001.txt 2>&1"> system rc=256
ICMPLSTI defineTIEIndex 02774 06/24 03:29:49.688 GMT ;24032945636027
a9:130bfb23585:X7fec ICMADMIN Error defining text search index
Error from TS <CTE0192 Errors occurred in an update index operation.
Check event view "DB2EXT"."EVENTIX492903" and db2diag.log for details. >
Ext RC = 192
system rc=256

Cause

When running 32-bit Content Manager stored procedures in a 64-bit environment, there are some 32-bit operating system libraries which may not be installed by default. For example starting with Redhat 6.0 32-bit libraries are not installed as part of the default installation.

Environment

Linux 64-bit

Resolving The Problem

Install the following 32-bit libraries needed by Content Manager routines via yast (SUSE Linux), yum (Redhat Linux) or equivalent command for your Linux distribution.


libstdc++-4.4.4-13.el6.i686.rpm
pam-1.1.1-4.el6.i686.rpm
zlib-1.2.3-25.el6.i686.rpm

If you continue to receive to receive the same error message there could be other dependent libraries needed by the stored procedure. In the example below we see that ~/sqllib/function/ICMNSUF is the library returning SQL0444 (-444).

2011-01-13-03.55.13.476354-240 I18063E723 LEVEL: Info
PID : 20639 TID : 139730359617312PROC : db2fmp (
INSTANCE: db2inst1 NODE : 000
FUNCTION: DB2 UDB, oper system services, sqlofica, probe:10
DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes
sqlcaid : SQLCA sqlcabc: 136 sqlcode: -444 sqlerrml: 70
sqlerrmc: *CHFILTER SQL110607133043201 ...ib/function/ICMNLSUF
ICMfetch_Filter 5
sqlerrp : SQLERLIB
sqlerrd : (1) 0x00000000 (2) 0x00000000 (3) 0x00000000
(4) 0x00000000 (5) 0x00000000 (6) 0x00000000
sqlwarn : (1) (2) (3) (4) (5) (6)
(7) (8) (9) (10) (11)
sqlstate: 42724


The next step is to run the "ldd" command to determine which dependent libraries it needs. We can see that libz.so.1 is the only library listed as "not found". Install this library via package zlib*.rpm to resolve.

Note that for other Content Manager stored procedures the library names and dependencies may vary.

[db2inst1@test function]$ ldd ICMNLSUF
linux-gate.so.1 => (0x00b66000)
...
libsc_lo.so => /opt/IBM/db2cmv8/lib/libsc_lo.so (0x003d3000)
libz.so.1 => not found

Please note the SQL0430 may be caused by additional problems if all operating system pre-requisites have been installed. It is equivalent to SQL1131 (stored procedure abnormally terminated) and can be caused by a coding error by the developer that wrote the UDF.

[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"DB2 Tools - db2diag.log","Platform":[{"code":"PF016","label":"Linux"}],"Version":"9.8;9.7;9.5;9.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21509478