Transports and Interfaces: Siebel Enterprise Application Integration > EAI MQSeries Server Transport >

Using the EAI MQSeries Server Transport on AIX


When you use the EAI MQSeries Server Transport on AIX, the shared memory segment required by the EAI MQSeries Server process can collide with the shared memory segment required by the queue manager. By default, the EAI MQSeries queue manager tries to use shared memory segment number 8. The EAI MQSeries Server Transport does not rely on any specific number and uses whatever segment is given to the process by the AIX operating system.

However, if you are using the default configuration, there is a possibility that the EAI MQSeries Server process gets segment number 8 from the operating system first, and as a result the queue manager cannot get its segment. In this case, the EAI MQSeries Server Transport service fails with an error code of 2059 because it cannot connect to the queue manager.

Fixing a Shared Memory Segment Conflict on AIX

You edit the mqs.ini file, found in the /var/mqm directory, to fix a shared memory segment conflict with the EAI MQSeries Server Transport on AIX.

To fix a shared memory segment conflict with the EAI MQSeries Server Transport on AIX

  1. Shut down any queue manager connected to the EAI MQSeries Transport.
  2. Edit the /var/mqm/mqs.ini file. In the QueueManager section, for each queue manager of interest, add an additional line explicitly specifying the shared memory segment to use. For example:

    QueueManager:
    Name=myQueueManager
    Prefix=/var/mqm
    Directory=myQueueManager
    IPCCBaseAddress=12

  3. Restart each queue manager.

NOTE:  This example shows shared number 12 as the memory segment number. Valid values for the IPCCBaseAddress are 4, 5, 8, 9, 10, 11, and 12, although 8 has been found to be problematic. It is possible to get a shared memory segment conflict even with the number set to 12, if the operating system has allocated segment 12 to the EAI MQSeries Server process ahead of the queue manager. If this is the case, a different segment number must be specified.

Configuring AIX to Run the Siebel Server with Less Memory

If the EAI MQSeries Server Transport business service on AIX continues to fail even after you have followed the previous procedures, you can configure the AIX environment to run Siebel Server with less memory using environment variable LDR_CNTRL. After you have finished, follow the procedures in the preceding topic.

To configure the AIX environment to run the Siebel Server with less memory

  1. Shut down the Siebel Server.
  2. In the shell that you use to bring up the Siebel Server, set the environment variable LDR_CNTRL. Using csh:

    setenv LDR_CNTRL MAXDATA=0x30000000

    NOTE:  You can save the setting in the siebenv.sh or siebenv.csh.

  3. Restart the Siebel Server with this environment variable.
Transports and Interfaces: Siebel Enterprise Application Integration Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Legal Notices.