Hi Luis,

I faced a similar problem in AIXv5.2 with WMQI v2.1 CSD 04, which was due to DB2 
problem on AIX, that a process cann't have more than 10 connections if the database is 
local, as it uses IPC's for DB2 Connections.

For analysing the exact problem, try logging the ExceptionList tree from MQOutput Node 
to a file using Trace node. If the problem is related to DB2, then try cataloging the 
broker database as a remote database, in which case the DB2 connections are obtained 
through TCP/IP Sockets.

Please refer to the attached text file for information related to changes required for 
DB2.

Regards,
Rajkumar
Torry Harris Business Solutions
Bangalore, India



DB2 Problem in AIX / Alternate Solution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Problem :
---------- 
On AIX, DB2 will issue SQL 1224N when the Broker process tries to access the Broker 
database
for fetching details regarding Message Sets. Hence the processing of message flows 
fail.

Observation : 
--------------
This is due to the limitation in number of connection available to Broker. Since the 
database is in 
local machine as that of production broker, the odbc dsn for broker uses Interprocess 
communication 
for getting connection to database, which means Shared memory segment will be used for 
attaching 
the client (odbc dsn) to the DB2 Server agent process. This has a limitation that a 
single process (like broker) cannot have more than 10 concurrent sessions with the 
server. 
Hence at times, when the requirement to have more than 10 sessions arises, the broker 
cannot be serviced by DB2.

Resolution : 
-------------
Catalog the database as remote database by configuring the TCP/IP Loopback. 
This will make broker to use TCP/IP communication, in which case it communicates to 
DB2 agent
process via sockets. Using sockets the broker requests to the database will be 
serviced completely.

Steps:
-------
1. Find the db2 service name for the instance.
command :
=========
 “db2 get dbm cfg | grep –i svcename”

2. Catalog the loopback node
command: 
========
“db2 catalog tcpip node <name> remote 127.0.0.1 server <service name>”

where
        replace <name> with the reference node name
        replace <service name> with the ouput from step.1

        example:
        db2 catalog tcpip node WMQINODE remote 127.0.0.1 server db2cdb2inst20

3. Catalog the database as follows
commands:
==========
db2 catalog db <database name> as <database alias>
db2 uncatalog db <database name>
db2 catalog db <database alias> as <database name> at node <nodename>

example:
db2 catalog db WMQIBKDB as PRDBKDB
db2 uncatalog db WMQIBKDB
db2 catalog db PRDBKDB as WMQIBKDB at node WMQINODE

Note : 
------
The database alias name can be any name but not same as the database name.
SQL1334N will result if the database is not configured properly

4. Restart DB2 to refresh to directory cache. 
commands:
=========
db2stop

db2start

Reply via email to