[IBMi]

Operating System configuration and tuning for IBM MQ on IBM i

Before installing IBM® MQ for IBM i, there are several system values which need to be checked using the DSPSYSVAL command. If necessary, reset the values using the CHGSYSVAL command.

Check the following values and change if required:

QCCSID
Every message has a coded-character set identifier (CCSID) in its header. The CCSID tag identifies the code page and character set of the source.
A queue manager obtains its CCSID from the job that created it. If the job CCSID is not a valid value in the range 1-65534, the queue manager uses the default CCSID value (65535) instead. You can change the CCSID used by the IBM MQ queue manager by using the CL command CHGMQM.
Note: The CCSID must be either single-byte character set (SBCS), or mixed, that is SBCS and DBCS. It must not be DBCS only.
QSYSLIBL
Ensure that QSYS2 is included in the list of libraries that make up the system part of the library list. IBM MQ uses programs in this library for data conversion and SNA LU 6.2 communication.
Note: Do not have QMQM as part of the system or user portion of the library list.
QALWOBJRST
Ensure that the QALWOBJRST system value is set to *ALL or *ALWPGMADP before you install MQ. If it is set to *NONE, installation fails.
After installation, reset QALWOBJRST to its original value to maintain system security.
QSHRMEMCTL
Ensure that the QSHRMEMCTL system value is set to 1 (Allowed).
A value of 1 is used in environments where pointers can be shared amongst programs between different jobs.
IBM MQ requires this setting to use the shared memory APIs shmat and shmget and to share its pointers across jobs.
If it is not set correctly, initialization of IBM MQ fails with system return code "3401" (Permission denied), and commands such as CRTMQM, STRMQM, ENDMQM, TRCMQM fail.
QFRCCVNRST
Ensure that the QFRCCVNRST system value is set to 0 (Restore all objects without conversion), or 1 (Objects with validation errors are converted), before you install MQ. If it is not set, installation fails.
QMLTTHDACN
Optionally set this to control the generation of messages into joblogs. Set QMLTTHDACN to 2 to get messages generated in a joblog; set it to 1 to avoid the messages. For example, the message CPD000D is an informational message that is generated when a command that is not thread-safe is issued from a multi-threaded application. Setting QMLTTHDACN to 1 avoids the message.