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