Environment variables descriptions

Descriptions of server and client environment variables that are intended for customer use.

Examples of use

  • [AIX][Linux]On AIX® and Linux® systems, use this format: export [environment variable]=value.
  • [Windows]On Windows systems, use this format: Set [environment variable]=value.
  • [IBM i]On IBM® i systems, use this format: ADDENVVAR ENVVAR(environment variable) VALUE(xx).
  • [MQ Appliance]For IBM MQ Appliance, see Configuring environment variables on the IBM MQ Appliance in the IBM MQ Appliance documentation.
[UNIX, Linux, Windows, IBM i]

AMQ_ALLOWED_CIPHERS

From IBM MQ 9.2.0, you can use the AMQ_ALLOWED_CIPHERS environment variable to specify a custom list of CipherSpecs that are enabled for use with IBM MQ channels on Multiplatforms. The environment variable takes the same values as the AllowedCipherSpecs SSL stanza attribute of the .ini file:
  • A single CipherSpec name, or
  • A comma-separated list of IBM MQ CipherSpec names to re-enable, or
  • The special value of ALL, representing all CipherSpecs (not recommended).
Note: Enabling ALL CipherSpecs is not recommended as this will enable SSL 3.0 and TLS 1.0 protocols and a large number of weak cryptographic algorithms.

For more information, see Providing a custom list of enabled CipherSpecs on Multiplatforms in CipherSpec order in TLS handshake.

AMQ_BAD_COMMS_DATA_FDCS

The AMQ_BAD_COMMS_DATA_FDCS environment variable is effective when set to any value.

If the data that IBM MQ receives from a host over TCP/IP is in an incorrect format, for example because a network client has connected to an IBM MQ listener port and attempted to communicate with an unsupported application protocol, the queue manager writes an AMQ9207E error message to the queue manager error logs. IBM MQ listeners support TCP/IP connections from queue manager message channel agents (MCAs) and from MQI, JMS and XMS client applications.
Note: IBM MQ listeners do not support the application protocol used by AMQP and MQTT clients, these clients should instead connect to the network ports configured in the applicable AMQP channel or MQXR telemetry service.

A failure data capture (FDC) record containing the invalid data that IBM MQ has received might also be written. However, an FFST file is not generated if this is the beginning of a conversation with the remote side and the format is a simple known format such as a GET request from an HTTP web browser. If you want to override this to cause FFST files to be written for any bad data including simple known formats, you can set the AMQ_BAD_COMMS_DATA_FDCS environment variable to any value (for example, TRUE) and restart the queue manager.

[UNIX, Linux, Windows, IBM i]

AMQ_CONVEBCDICNEWLINE

You can use the AMQ_CONVEBCDICNEWLINE environment variable to specify how IBM MQ is to convert an EBCDIC NL character into ASCII format. The environment variable takes the same values as the ConvEBCDICNewline attribute of the mqs.ini, that is, NL_TO_LF, TABLE, or ISO (see All queue managers stanza of the mqs.ini file). You can, for example, use the AMQ_CONVEBCDICNEWLINE environment variable instead of the ConvEBCDICNewline stanza attribute to provide ConvEBCDICNewline functionality on the client side in situations where the mqs.ini file cannot be used. If both the stanza attribute and the environment variable are set, the stanza attribute takes precedence.

For more information, see Data conversion between coded character sets .

AMQ_DIAGNOSTIC_MSG_SEVERITY

If the AMQ_DIAGNOSTIC_MSG_SEVERITY environment variable is set to 1 for an IBM MQ process, this causes the message severity to be appended to the message number as a single uppercase alphabetic character when the IBM MQ process writes a message to an error log or to the console.

The behavior that AMQ_DIAGNOSTIC_MSG_SEVERITY enables is set by default. You can turn off this behavior by setting the environment variable to 0.

For more information, see Using error logs.

AMQ_DISABLE_CLIENT_AMS

You can use the AMQ_DISABLE_CLIENT_AMS environment variable to disable IBM MQ Advanced Message Security (AMS) at the client if an 2085 (MQRC_UNKNOWN_OBJECT_NAME) error is reported when you are trying to connect to a queue manager from an earlier version of the product and you are using one of the following clients:
  • A Java runtime environment (JRE) other than the IBM Java runtime environment (JRE)
  • An IBM MQ IBM MQ classes for JMS or IBM MQ classes for Java client.
Note: You cannot use the AMQ_DISABLE_CLIENT_AMS environment variable for C clients. You need to use the MQS_DISABLE_ALL_INTERCEPT environment variable instead.

For more information, see Disabling Advanced Message Security at the client.

AMQ_DMPMQCFG_QSGDISP_DEFAULT

The inquiries on the disposition of a queue manager that are used by the dmpmqcfg command inquire only QSGDISP(QMGR) definitions by default. You can inquire additional definitions by using the AMQ_DMPMQCFG_QSGDISP_DEFAULT environment variable, which can be set to one of the following values:
LIVE
Include only, objects defined with QSGDISP(QMGR) or QSGDISP(COPY).
ALL
Include objects defined with QSGDISP(QMGR) and QSGDISP(COPY). If the queue manager is a member of a queue sharing group, QSGDISP(GROUP) and QSGDISP(SHARED) are also included.
COPY
Include only, objects defined with QSGDISP(COPY)
GROUP
Include only, objects defined with QSGDISP(GROUP); the target queue manager must be a member of a queue sharing group.
QMGR
Include only, objects defined with QSGDISP(QMGR). This is the default behavior if you use this environment variable, to match the existing behavior of dmpmqcfg.
PRIVATE
Include only, objects defined with QSGDISP(QMGR) or QSGDISP(COPY).
SHARED
Include only, objects defined with QSGDISP(SHARED).
[MQ 9.3.4 Oct 2023][UNIX, Linux, Windows, IBM i]

AMQ_IODELAY, AMQ_IODELAY_INMS and AMQ_IODELAY_FFST

IBM MQ detects when log read and write or input and output operations take longer than anticipated. This might be due to problems with the operating system or storage system and can impact the queue manager performance. From IBM MQ 9.3.4, you can use the AMQ_IODELAY environment variables to fine tune diagnostics and timings when the input and output for your queue manager log and storage file system is slow. If you see message AMQ6729W Log I/O operation exceeded threshold in the queue manager error log, investigate the cause and make adjustments accordingly. Use the variables as shown in the following examples:
AMQ_IODELAY
Threshold time in seconds, default is 1 second. If an I/O operation takes longer than this threshold then error message AMQ6729W is reported in IBM MQ log files. The warning message is repeated at most every 10 seconds if the delays continue. You can increase this to suppress errors or decrease to investigate specific performance issues. For example,
export AMQ_IODELAY=200000
AMQ_IODELAY_INMS
Change the time measure to microseconds instead of seconds. Use this to set a lower threshold before you get message AMQ6729 in the queue manager log.
export AMQ_IODELAY_INMS=YES
AMQ_IODELAY_FFST
In addition to the warning message in the error log, a FFST file that contains diagnostic information is generated whenever the threshold is exceeded.
export AMQ_IODELAY_FFST=YES

Starting the queue manager as in this example, causes an FDC or FFST file to be written if an input/output operation takes longer than 200000 microseconds (0.2s), which is still a relatively generous threshold.

For more information, see Queue manager health check behavior.

AMQ_LDAP_TRACE

If the AMQ_LDAP_TRACE environment variable is set to a non-null value, it is possible to switch LDAP client trace on and off without also stopping or starting the queue manager.

For more information, see Enabling dynamic tracing of LDAP client library code.

[UNIX, Linux, Windows, IBM i]

AMQ_LICENSING_METRIC

Setting the AMQ_LICENSING_METRIC=VPCMonthlyPeak environment variable causes the queue manager to upload data relating to monthly VPC license types, instead of the default behavior of uploading data related to hourly container-based licenses.

For more information about configuring IBM MQ for use with the IBM Cloud® Private metering service, see IBM Cloud Private metering service in the IBM Cloud Private documentation.

[AIX][Linux]

AMQ_MQS_INI_LOCATION

On AIX and Linux systems, you can alter the location that is used for the mqs.ini file by setting the location of the mqs.ini file in the AMQ_MQS_INI_LOCATION environment variable. This environment variable must be set at the system level.

For more information about the mqs.ini file, including directory locations, see IBM MQ configuration file, mqs.ini.

AMQ_NO_BAD_COMMS_DATA_FDCS

The AMQ_NO_BAD_COMMS_DATA_FDCS environment variable is effective when set to any value.

If IBM MQ does not recognize the initial data transmission when attempting to connect a non-IBM MQ client to an IBM MQ TCP/IP listener, this causes the queue manager to write an AMQ9207E error message to the queue manager error logs. A failure data capture (FDC) record is also written. You can suppress the generation of these diagnostic files with the AMQ_NO_BAD_COMMS_DATA_FDCS environment variable. When AMQ_NO_BAD_COMMS_DATA_FDCS is set to any value (for example, TRUE), this instructs IBM MQ not to generate FFSTs when reporting AMQ9207E error messages on the initial communications flow. To be effective, the environment variable should be set before starting the queue manager and listener processes.

The FDC continues to be generated in the case where a client sends valid IBM MQ protocol flows to the queue manager, and then sends invalid data, as this is indicative of a client issue that warrants further investigation.

Note: From IBM MQ 9.2.0, the capture of FFSTs when reporting AMQ9207E error messages on initial communications flows is suppressed by default.

AMQ_NO_IPV6

The AMQ_NO_IPV6 environment variable is effective when set to any value. When this environment variable is set, it disables the use of IPv6 while attempting a connection.

AMQ_REVERSE_COMMIT_ORDER

The AMQ_REVERSE_COMMIT_ORDER environment variable configures a queue manager so that in an XA transaction the IBM MQ queue manager change is committed after the corresponding database update is completed. Applications that read messages from the queues see a message only after the corresponding database update has been completed.
Note: Do not set AMQ_REVERSE_COMMIT_ORDER without reading and understanding the scenario that is described in Isolation level.

AMQ_SSL_ALLOW_DEFAULT_CERT

When the AMQ_SSL_ALLOW_DEFAULT_CERT environment variable is not set, an application can connect to a queue manager with a personal certificate in the client keystore only when the certificate includes the label name of ibmwebspheremquserid. When the AMQ_SSL_ALLOW_DEFAULT_CERT environment variable is set, the certificate does not require the label name of ibmwebspheremquserid. That is, the certificate that is used to connect to a queue manager can be a default certificate, provided that a default certificate is present in the key repository, and the key repository does not contain a personal certificate with the prefix ibmwebspheremquserid.

A value of 1 enables the use of a default certificate.

Instead of using the AMQ_SSL_ALLOW_DEFAULT_CERT environment variable, an application can use the CertificateLabel setting of the SSL stanza in the mqclient.ini file. For more information, see Digital certificate labels, understanding the requirements and SSL stanza of the client configuration file.

AMQ_SSL_LDAP_SERVER_VERSION

The AMQ_SSL_LDAP_SERVER_VERSION environment variable can be used to ensure that either LDAP v2 or LDAP v3 is used by IBM MQ cryptographic components in cases where CRL servers require that a specific version of the LDAP protocol be used.

Set the environment variable to the appropriate value in the environment that is used to start the queue manager or channel:
  • To request that LDAP v2 is used, set AMQ_SSL_LDAP_SERVER_VERSION=2.
  • To request that LDAP v3 is used, set AMQ_SSL_LDAP_SERVER_VERSION=3.

This environment variable does not affect LDAP connections established by the IBM MQ queue manager for user authentication or user authorization.

[AIX][MQ 9.3.0 Jun 2022]

AMQ_USE_ZLIBNX

On AIX, the AMQ_USE_ZLIBNX environment variable can be used to enable message channel agents (MCA) to use the hardware-accelerated zlibNX library for compression and decompression of message data when using ZLIBFAST or ZLIBHIGH techniques.
Tip: Highly compressible messages that are over 2 KB in size are most likely to benefit from opting to use the zlibNX library, by reducing CPU usage.

The zlibNX library is available in IBM AIX 7.2 with Technology Level 4 Expansion Pack, and later. If the environment variable is set and the zlibNX library (/usr/opt/zlibNX/lib/libz.a) is not installed, the message channel agents will use the standard zlib library provided in the IBM MQ for AIX installation.

[AIX][IBM i][Linux]

HOME

On AIX, Linux and IBM i, the HOME environment variable specifies the name of the directory that is searched for the mqclient.ini file. This file contains configuration information that is used by IBM MQ MQI clients.

For more information, see IBM MQ MQI client configuration file, mqclient.ini and Location of the client configuration file.

[Windows]

HOMEDRIVE and HOMEPATH

To be used, both the HOMEDRIVE and HOMEPATH environment variables must be set. They are used on Windows systems to specify the name of the directory that is searched for the mqclient.ini file. This file contains configuration information that is used by IBM MQ MQI clients.

For more information, see IBM MQ MQI client configuration file, mqclient.ini and Location of the client configuration file.

LDAP_BASEDN

LDAP_BASEDN is the required environment variable for running an LDAP sample program. It specifies the base Distinguished Name for the directory search.

LDAP_HOST

LDAP_HOST is an optional environment variable for running an LDAP sample program. It specifies the name of the host where the LDAP server is running; it defaults to the local host if it is not specified.

LDAP_VERSION

LDAP_VERSION is an optional environment variable for running an LDAP sample program. It specifies the version of the LDAP protocol to be used, and can be either 2 or 3. Most LDAP servers now support version 3 of the protocol; they all support the older version 2. This sample works equally well with either version of the protocol, and if it is not specified it defaults to version 2.

MQ_CHANNEL_SUPPRESS_INTERVAL

The MQ_CHANNEL_SUPPRESS_INTERVAL environment variable specifies the time interval, in seconds, during which the messages defined with MQ_CHANNEL_SUPPRESS_MSGS are to be suppressed from being written to the error log, together with the number of times that a message will be allowed to occur during the specified time interval before being suppressed. The default value is 60,5 which means that any further occurrences of a given message are suppressed after the first five occurrences of that message in a 60 second interval. For more information, see Suppressing channel error messages from error logs on Multiplatforms.

The MQ_CHANNEL_SUPPRESS_INTERVAL environment variable is comparable to SuppressInterval in the qm.ini file.

MQ_CHANNEL_SUPPRESS_MSGS

The MQ_CHANNEL_SUPPRESS_MSGS environment variable suppresses channel error messages in the error log. You can specify a list of messages that are suppressed. MQ_CHANNEL_SUPPRESS_MSGS is used in conjunction with MQ_CHANNEL_SUPPRESS_INTERVAL, which specifies the number of times that each message appears before being suppressed and the length of time that messages are suppressed for. For more information, see Suppressing channel error messages from error logs on Multiplatforms.

The MQ_CHANNEL_SUPPRESS_MSGS environment variable is comparable to SuppressMessage in the qm.ini file, except that you can suppress any channel message by using the environment variable, whereas there is a restrictive list for the qm.ini method.

[UNIX, Linux, Windows, IBM i]

MQ_CONNECT_TYPE

On Multiplatforms, you can use the MQ_CONNECT_TYPE environment variable in combination with the type of binding specified in the Options field of the MQCNO structure that is used on an MQCONNX call. MQ_CONNECT_TYPE only has any effect for STANDARD bindings. For other bindings, MQ_CONNECT_TYPE is ignored.

For more information, see Use of MQCONNX call options with MQ_CONNECT_TYPE.

MQ_CROSS_QUEUE_ORDER_ALL

When you set the MQ_CROSS_QUEUE_ORDER_ALL environment variable to a non-zero value, the message put order is maintained in a unit of work. This means that, if messages in a Unit of Work (UoW) are put onto multiple queues (for example, Q1, then Q2), when an MQCMIT is issued, the messages are delivered and made available in the same queue order in which they were PUT.

In a multi-queue manager environment, MQ_CROSS_QUEUE_ORDER_ALL must exist and have a non-empty value on both the sending and receiving side before each queue manager is started.

MQ_EPHEMERAL_PREFIX

The MQ_EPHEMERAL_PREFIX environment variable specifies the path to the queue manager's ephemeral directory, within which ephemeral queue manager data is kept, while the queue manager is running.

As an alternative to changing the ephemeral prefix by changing the EphemeralPrefix attribute in the DefaultEphemeralPrefix attribute of the AllQueueManagers stanza of the mqs.ini file, you can use the environment variable MQ_EPHEMERAL_PREFIX to override the EphemeralPrefix for the crtmqm command. For more information, see Configurable ephemeral directory.

[Windows]

MQ_FILE_PATH

The MQ_FILE_PATH environment variable is configured during the installation of the runtime package on the Windows platform. This environment variable contains the same data as the following key in the Windows registry:

HKEY_LOCAL_MACHINE\SOFTWARE\IBM\WebSphere MQ\Installation\InstallationName\FilePath

For more information, see setmqenv (set IBM MQ environment) and crtmqenv (create IBM MQ environment).

MQ_JAVA_DATA_PATH

The MQ_JAVA_DATA_PATH environment variable specifies the directory for log and trace output for the IBM MQ classes for JMS and IBM MQ classes for Jakarta Messaging and IBM MQ classes for Java. It is used by the scripts provided with IBM MQ classes for JMS and IBM MQ classes for Jakarta Messaging and IBM MQ classes for Java.

For more information, see Setting environment variables for IBM MQ classes for JMS/Jakarta Messaging and Environment variables relevant to IBM MQ classes for Java.

MQ_JAVA_INSTALL_PATH

The MQ_JAVA_INSTALL_PATH environment variable specifies the directory where the IBM MQ classes for JMS and IBM MQ classes for Jakarta Messaging as shown in What is installed for IBM MQ classes for JMS, and the IBM MQ classes for Java as shown in IBM MQ classes for Java installation directories are installed.

For more information, see Setting environment variables for IBM MQ classes for JMS/Jakarta Messaging and Environment variables relevant to IBM MQ classes for Java.

MQ_JAVA_LIB_PATH

The MQ_JAVA_LIB_PATH environment variable specifies the directory where the IBM MQ classes for JMS and IBM MQ classes for Jakarta Messaging, and the IBM MQ classes for Java libraries are stored. Some scripts, for example, IVTRun, that are supplied with the IBM MQ classes for JMS and IBM MQ classes for Jakarta Messaging or the IBM MQ classes for Java use this environment variable.

For more information, see Setting environment variables for IBM MQ classes for JMS/Jakarta Messaging and Environment variables relevant to IBM MQ classes for Java.

MQ_OVERRIDE_DATA_PATH

You can use the MQ_OVERRIDE_DATA_PATH environment variable to change the default directory of the IBM MQ data path.

[AIX]

MQ_SET_NODELAYACK

The MQ_SET_NODELAYACK environment variable switches off TCP delayed acknowledgment on AIX.

When you set this environment variable, the setting switches off TCP delayed acknowledgment by calling the operating system's setsockopt call with the TCP_NODELAYACK option. Only AIX supports this function, so the MQ_SET_NODELAYACK environment variable only has an effect on AIX.

[Linux]

MQ_USER_NAME

You can use the MQ_USER_NAME environment variable to allow an unregistered installation on Linux to choose the name of an unnamed user. This is needed, for example, to use publish/subscribe hierarchies in OpenShift.

The value of MQ_USER_NAME must not match a pre-existing user on the system, and must be less than or equal to 12 bytes.

MQAPI_TRACE_LOGFILE

The sample API exit program generates an MQI trace to a user-specified file with a prefix that is defined in the MQAPI_TRACE_LOGFILE environment variable.

For more information, see The API exit sample program.

[AIX, Linux, Windows]

MQAPPLNAME

If the application name has not yet been chosen, you can use the MQAPPLNAME environment variable as the name to be used to identify the connection to a queue manager. Only the first 28 characters are used, and they must not be all blanks or nulls.

For more information, see Using the application name in supported programming languages.

MQCCSID

The MQCCSID environment variable specifies the coded character set number to be used and overrides the CCSID value with which the server has been configured. MQCCSID can be used to override the native CCSID of an application and specify the coded character set number to be used, for example if the native CCSID is an unsupported CCSID or is not the required CCSID.

To set MQCCSID, use one of the following commands:
  • [AIX][Linux]On AIX and Linux:
    
    export MQCCSID=number
    
  • [Windows]On Windows:
    
    SET MQCCSID=number
    
  • [IBM i]On IBM i:
    
    ADDENVVAR ENVVAR(MQCCSID) VALUE(number)
    

For more information, see Choosing client or server CCSID.

MQCCDTURL

The MQCCDTURL environment variable provides the equivalent capability to setting a combination of the MQCHLLIB and MQCHLTAB environment variables. It allows you to provide a file, ftp, or http URL as a single value from which a client channel definition table can be obtained for native programs connecting as clients, that is C, COBOL, or C++ applications.
Note: Using environment variables to provide the URL has no effect for Java, JMS or managed .NET applications.

IBM MQ supports retrieving a CCDT from a file, ftp, or http URL. However, MQCCDTURL only accepts a URL value. It does not accept the existing local file system directory format.

To use MQCCDTURL in place of MQCHLLIB and MQCHLTAB with a local file, you can use a 'file://' protocol. Therefore, as shown in this example for AIX and Linux:
export MQCCDTURL=file:///var/mqm/qmgrs/QMGR/@ipcc/MYCHL.TAB
is equivalent to:
export MQCHLLIB=/var/mqm/qmgrs/QMGR/@ipcc
export MQCHLTAB=MYCHL.TAB
You can also specify a JSON file as shown in this example for Windows:
set MQCCDTURL=file:/c:/mq-channels/CCDT-QMGR1.json
is equivalent to:
set MQCHLLIB=C:\mq-channels
set MQCHLTAB=CCDT-QMGR1.json

For more information, see URL access to the CCDT.

MQCERTLABL

The MQCERTLABL environment variable defines the certificate label of a channel definition for IBM MQ to use to locate a personal certificate that is sent during a TLS handshake.

For more information, see Digital certificate labels, understanding the requirements.

MQCERTVPOL

The MQCERTVPOL environment variable specifies the type of certificate validation policy to be used. This environment variable overrides the CertificateValPolicy attribute in the SSL stanza of the client configuration file.

MQCERTVPOL can be set to one of two values:
ANY
Use any certificate validation policy that is supported by the underlying secure sockets library. This setting is the default setting.
RFC5280
Use only certificate validation that complies with the RFC 5280 standard.
To set MQCERTVPOL, use one of these commands:
  • [AIX][Linux]For AIX and Linux systems:
    
    export MQCERTVPOL= value
    
  • [Windows]For Windows systems:
    
    SET MQCERTVPOL= value
    
  • [IBM i]For IBM i systems:
    
    ADDENVVAR ENVVAR(MQCERTVPOL) VALUE(value)
    

For more information, see Certificate validation policies in IBM MQ and Configuring certificate validation policies in IBM MQ.

MQCHLLIB

The MQCHLLIB environment variable specifies the directory path to the file that contains the client channel definition table (CCDT). The file is created on the server, but can be copied across to the IBM MQ MQI client workstation.

To set MQCHLLIB, use one of these commands:
  • [Windows]On Windows:
    
    SET MQCHLLIB=pathname
    
    For example:
    
    SET MQCHLLIB=C:\wmqtest
    
  • [AIX][Linux]For AIX and Linux systems:
    
    export MQCHLLIB=pathname
    
  • [IBM i]For IBM i:
    
    ADDENVVAR ENVVAR(MQCHLLIB) VALUE(pathname)
    
If MQCHLLIB is not set, the path for the client defaults to:
  • [AIX][Linux]On AIX and Linux: /var/mqm/
  • [Windows]On Windows: MQ_INSTALLATION_PATH
  • [IBM i]On IBM i: /QIBM/UserData/mqm/
For the crtmqm and strmqm commands, the path defaults to one of two sets of paths. If datapath is set, the path defaults to one of the first set. If datapath is not set, the path defaults to one of the second set.
  • [AIX][Linux]On AIX and Linux: datapath/@ipcc
  • [Windows]On Windows: datapath\@ipcc
  • [IBM i]On IBM i: datapath/&ipcc
Or:
  • [AIX][Linux]On AIX and Linux: /prefix/qmgrs/qmgrname/@ipcc
  • [Windows]On Windows: MQ_INSTALLATION_PATH\data\qmgrs\qmgrname\@ipcc
  • [IBM i]On IBM i: /prefix/qmgrs/qmgrname/&ipcc
where:
  • MQ_INSTALLATION_PATH represents the high-level directory in which IBM MQ is installed.
  • If present, datapath is the value of DataPath defined in the queue manager stanza.
  • prefix is the value of Prefix defined in the queue manager stanza. Prefix is typically one of the following values:
    • [AIX][Linux]/var/mqm on AIX and Linux systems.
    • [IBM i]/QIBM/UserData/mqm/ on IBM i.
  • qmgrname is the value of the Directory attribute defined in the queue manager stanza. The value might be different from the actual queue manager name. The value might have been altered to replace special characters.
  • Where the queue manager stanza is defined depends on the platform:
    • [AIX][IBM i][Linux]In the mqs.ini file on IBM i, AIX and Linux.
    • [Windows]In the registry on Windows.
Notes:
  1. [z/OS]If you are using IBM MQ for z/OS® as your server, the file must be kept on the IBM MQ client workstation.
  2. If set, MQCHLLIB overrides the path used to locate the CCDT.
  3. MQCHLLIB can contain a URL which works in combination with the MQCHLTAB environment variable (see URL access to the CCDT).
  4. Environment variables, such as MQCHLLIB, can be scoped to a process, or a job, or system-wide, in a platform-specific way.
  5. If you set MQCHLLIB system-wide on a server, it sets the same path to the CCDT file for all the queue managers on the server. If you do not set the MQCHLLIB environment variable, the path is different for each queue manager. Queue managers read the value of MQCHLLIB, if it is set, on either the crtmqm or strmqm command.
  6. If you create multiple queue managers on one server, the distinction is important, for the following reason. If you set MQCHLLIB system-wide, each queue manager updates the same CCDT file. The file contains the client-connection definitions from all the queue managers on the server. If the same definition exists on multiple queue managers, SYSTEM.DEF.CLNTCONN for example, the file contains the latest definition. When you create a queue manager, if MQCHLLIB is set, SYSTEM.DEF.CLNTCONN is updated in the CCDT. The update overwrites the SYSTEM.DEF.CLNTCONN created by a different queue manager. If you modified the earlier definition, your modifications are lost. For this reason, you must consider finding alternatives to setting MQCHLLIB as a system-wide environment variable on the server.
  7. The MQSC and PCF NOREPLACE option on a client-connection definition does not check the contents of the CCDT file. A client-connection channel definition of the same name that was previously created, but not by this queue manager, is replaced, regardless of the NOREPLACE option. If the definition was previously created by the same queue manager, the definition is not replaced.
  8. The command, rcrmqobj -t clchltab deletes and re-creates the CCDT file. The file is re-created with only the client-connection definitions created on the queue manager that the command is running against.
  9. Other commands that update the CCDT modify only the client-connection channels that have the same channel name. Other client-connection channels in the file are not altered.
  10. The path for MQCHLLIB does not need quotation marks.

For more information, see Locations for the CCDT, URL access to the CCDT, and Connecting client applications to queue managers using environment variables.

MQCHLTAB

The MQCHLTAB environment variable specifies the name of the file that contains the client channel definition table (CCDT). The default file name is AMQCLCHL.TAB.

To set MQCHLTAB, use one of these commands:
  • [AIX][Linux]On AIX and Linux:
    
    export MQCHLTAB=filename
    
  • [Windows]On Windows:
    
    SET MQCHLTAB=filename
    
  • [IBM i]On IBM i:
    
    ADDENVVAR ENVVAR(MQCHLTAB) VALUE(filename)
    
For example:

SET MQCHLTAB=ccdf1.tab

In the same way as for the client, the MQCHLTAB environment variable on the server specifies the name of the client channel definition table.

For more information, see Locations for the CCDT, URL access to the CCDT, and Connecting client applications to queue managers using environment variables.

MQCLNTCF

The MQCLNTCF environment variable specifies the location of the IBM MQ MQI client configuration file. This file contains configuration information that is used by IBM MQ MQI clients.

You can use the MQCLNTCF environment variable to modify the file path of the mqclient.ini file.

The format of this environment variable is a full URL. This means that the file name might not necessarily be mqclient.ini, which facilitates placing the file on a network attached file-system. For more information, see IBM MQ MQI client configuration file, mqclient.ini and Location of the client configuration file.

MQDOTNET_TRACE_ON

The MQDOTNET_TRACE_ON environment variable is used to enable trace for IBM MQ .NET redistributable clients. Values equal to and less than 0 do not enable trace, 1 enables default trace and values greater than 1 enable detail tracing.

For more information, see Tracing IBM MQ .NET applications and Tracing IBM MQ .NET applications using environment variables.

MQIPADDRV

The MQIPADDRV environment variable specifies which IP protocol to use for a channel connection. It has the possible string values of "MQIPADDR_IPV4" or "MQIPADDR_IPV6". These values have the same meanings as IPv4 and IPv6 in ALTER QMGR IPADDRV and the IPAddressVersion attribute of the TCP stanza of the client configuration file. If the environment variable is not set, "MQIPADDR_IPV4" is assumed.

To set MQIPADDRV, use one of these commands:
  • [AIX][Linux]On AIX and Linux:
    
    export MQIPADDRV=MQIPADDR_IPV4|MQIPADDR_IPV6"/>
    
  • [Windows]On Windows:
    
    SET MQIPADDRV=MQIPADDR_IPV4|MQIPADDR_IPV6
    
  • [IBM i]On IBM i:
    
    ADDENVVAR ENVVAR(MQIPADDRV) VALUE(MQIPADDR_IPV4|MQIPADDR_IPV6)
    
[MQ 9.3.0 Jun 2022][MQ 9.3.0 Jun 2022]

MQKEYRPWD

When you set the MQKEYRPWD environment variable, it specifies the password for the key repository that holds the digital certificate belonging to the user. If MQKEYRPWD is used, you must encrypt the password before you set the value of the environment variable.

To set MQKEYRPWD, use one of these commands:
  • [AIX][Linux]On AIX and Linux systems:
    export MQKEYRPWD=passphrase
  • [Windows]On Windows systems:
    SET MQKEYRPWD=passphrase
  • [IBM i]On IBM i:
    ADDENVVAR ENVVAR(MQKEYRPWD) VALUE(passphrase)

There is no default value for this environment variable.

[Linux]

MQLICENSE

On Linux systems, you can use the MQLICENSE environment variable to accept or view an IBM MQ license after you install the product.

For more information about why you might want or need to do this, see Accepting the license on IBM MQ for Linux

The MQLICENSE environment variable can be set to one of two values:
accept
Accept the license post-installation.
view
Display the license, if the license has been accepted.
To accept the license post-installation, use this command:

export MQLICENSE=accept
To view the license, use this command:

export MQLICENSE=view
Note: You can also use the following commands to accept and display the license:
[UNIX, Linux, Windows, IBM i]

MQMAXERRORLOGSIZE

The MQMAXERRORLOGSIZE environment variable specifies the size of the queue manager error log that is copied to the backup.

For more information, see Using error logs.

[Windows]

MQNAME

The MQNAME environment variable specifies the local NetBIOS name that the IBM MQ processes can use. A NetBIOS connection applies only to a client and server running Windows.

To set MQNAME, use this command:

SET MQNAME=Your_env_Name
For example:

SET MQNAME=CLIENT1

Some NetBIOS implementations require a unique name, set by MQNAME, for each application if you are running multiple IBM MQ applications simultaneously on the IBM MQ MQI client.

For more information, see Defining the IBM MQ local NetBIOS name.

MQNOREMPOOL

When you set the MQNOREMPOOL environment variable, it switches off channel pooling and causes channels to run as threads of the listener.

For more information, see MCATYPE (Message channel agent type).

MQPSE_TRACE_LOGFILE

You use the MQPSE_TRACE_LOGFILE environment variable when you run the Publish Exit Sample Program AMQSPSE0, which is a sample C program of an exit to intercept a publication before it is delivered to a subscriber. In the application process to be traced, this environment variable describes where the trace files must be written to.

For more information, see The Publish Exit sample program.

MQS_AMSCRED_KEYFILE

You can use the MQS_AMSCRED_KEYFILE environment variable to override or provide the initial key file to use at run time of IBM MQ Advanced Message Security (AMS) applications, or when you are protecting a keystore configuration file by using the runamscred command.

For more information, see Using keystores and certificates with AMS and Protecting passwords in IBM MQ component configuration files.

MQS_DISABLE_ALL_INTERCEPT

You can use the MQS_DISABLE_ALL_INTERCEPT environment variable to disable IBM MQ Advanced Message Security (AMS) if an 2085 (MQRC_UNKNOWN_OBJECT_NAME) error is reported when you are trying to connect to a queue manager from an earlier version of the product and you are using IBM MQ with native C clients.
Note: You can use the MQS_DISABLE_ALL_INTERCEPT environment variable for C clients only. For Java clients, you need to use the AMQ_DISABLE_CLIENT_AMS environment variable instead.

For more information, see Disabling Advanced Message Security at the client.

MQS_IPC_HOST

Since IPC file system objects have to be distinguished by system, a subdirectory for each system that the queue manager runs on is added to the directory path. If the generated value of the host name creates a problem, you can set the host name by using the MQS_IPC_HOST environment variable.

For more information, see Sharing IBM MQ files on Multiplatforms.

MQS_KEYSTORE_CONF

The MQS_KEYSTORE_CONF environment variable specifies the location of the keystore configuration file for IBM MQ Advanced Message Security (AMS), if the file is not in the default location of home_directory/.mqs/keystore.conf.

For more information, see Using keystores and certificates with AMS.

If you are having problems on Managed File Transfer, see Troubleshooting when MFT does not read keystore properties for AMS.

[MQ 9.3.0 Jun 2022][MQ 9.3.0 Jun 2022]

MQS_MQI_KEYFILE

When you set the MQS_MQI_KEYFILE environment variable, it specifies the location of an initial key file which contains the initial key to be used for password protection operations. If the initial key file is not specified, the default initial key is used by the IBM MQ password protection system.

To set MQS_MQI_KEYFILE, use one of these commands:
  • [AIX][Linux]On AIX and Linux systems:
    export MQS_MQI_KEYFILE=key file location
  • [Windows]On Windows systems:
    SET MQS_MQI_KEYFILE=key file location
  • [IBM i]On IBM i:
    ADDENVVAR ENVVAR(MQS_MQI_KEYFILE) VALUE(key file location)

[MQ 9.3.0 Jun 2022][MQ 9.3.0 Jun 2022]For more information, see Supplying an initial key for an IBM MQ MQI client on AIX, Linux, and Windows and Supplying an initial key for an IBM MQ MQI client on IBM i.

[MQ 9.3.0 Jun 2022]

MQS_SSLCRYP_KEYFILE

The MQS_SSLCRYP_KEYFILE environment variable is an alternative way of specifying the full path and name of the file containing the initial key used to encrypt the password in the PKCS #11 cryptographic hardware configuration string, instead of specifying it with the SSLCryptoHardwareKeyFile attribute in the SSL stanza of the qm.ini. MQS_SSLCRYP_KEYFILE has a higher priority than the qm.ini file so its value takes precedence over any other value. For more information, see IBM MQ clients using cryptographic hardware.

[AIX]

MQS_TRACE_OPTIONS

For selective component tracing on AIX, use the MQS_TRACE_OPTIONS environment variable to activate the high detail and parameter tracing functions individually.
Note: Only set the MQS_TRACE_OPTIONS environment variable if you have been instructed to do so by IBM Support.

For more information, see Tracing on AIX and Linux.

MQSERVER

The MQSERVER environment variable is used to define a minimal channel. MQSERVER specifies the location of the IBM MQ server and the communication method to be used.
Note: You cannot use MQSERVER to define a TLS channel or a channel with channel exits. For more information on how to define a TLS channel, see Protecting channels with TLS.
The following examples show how to set MQSERVER:
  • [AIX][Linux]On AIX and Linux:
    
    export  MQSERVER='SYSTEM.DEF.SVRCONN/TCP/AMACHINE.ACOMPANY.COM(1414)' 
    
  • [Windows]On Windows:
    
    SET  MQSERVER=SYSTEM.DEF.SVRCONN/TCP/AMACHINE.ACOMPANY.COM(1414) 
    
  • [IBM i]On IBM i:
    
    ADDENVVAR ENVVAR(MQSERVER) VALUE('SYSTEM.DEF.SVRCONN/TCP/AMACHINE.ACOMPANY.COM(1414)')
    
Note:
  • The channel name cannot contain the forward slash (/) character because this character is used to separate the channel name, transport type, and connection name. When the MQSERVER environment variable is used to define a client channel, a maximum message length (MAXMSGL) of 100 MB is used. Therefore the maximum message size in effect for the channel is the value specified in the SVRCONN channel at the server.
  • The transport type can be one of LU62 , TCP , NETBIOS, SPX, depending on your IBM MQ client platform.
  • The connection name must be a fully-qualified network name., for example AMACHINE.ACOMPANY.COM(1414).
  • The connection name can be a comma-separated list of connection names. The connection names in the list are used in a similar way to multiple connections in a client connection table. The connection name list might be used as an alternative to queue manager groups to specify multiple connections for the client to try. If you are configuring a multi-instance queue manager, you might use a connection name list to specify different queue manager instances.

If you use the MQSERVER environment variable to define the channel between your IBM MQ MQI client machine and a server machine, this is the only channel available to your application, and no reference is made to the client channel definition table (CCDT).

For more information, see Creating a client-connection channel on the IBM MQ MQI client using MQSERVER.

MQSNOAUT

Warning: This functionality is not recommended.

When you set the MQSNOAUT environment variable to any value it disables the object authority manager (OAM) and prevents any security checking. This might be suitable for a test environment. This includes both authorization and connection authentication functionality. TLS, Channel Authentication Records and Security Exits are unaffected.

The MQSNOAUT environment variable only takes effect when a queue manager is created.
Warning: To enable the OAM, you must delete the queue manager, delete the environment variable, and then recreate the queue manager without specifying MQSNOAUT.

For more information, see Preventing security access checks on AIX, Linux, and Windows systems.

MQSPREFIX

As an alternative to changing the default prefix, you can use the MQSPREFIX environment variable to override the DefaultPrefix for the crtmqm command.

For more information, see IBM MQ file names and AllQueueManagers stanza of the mqs.ini file.

[AIX, Linux, Windows]

MQSSLCRYP

The MQSSLCRYP environment variable holds a parameter string that you can use to configure the cryptographic hardware present on the system.

[MQ 9.3.0 Jun 2022]The permitted values are the same as for the SSLCryptoHardware field in the SSL stanza of the client configuration file.

To set MQSSLCRYP, use one of these commands:
  • [AIX][Linux]On AIX and Linux systems:
    
    export MQSSLCRYP=string
    
  • [Windows]On Windows systems:
    
    SET MQSSLCRYP=string
    

For more information, see Configuring for cryptographic hardware on AIX, Linux, and Windows and IBM MQ clients that use cryptographic hardware in Protecting passwords in IBM MQ component configuration files.

MQSSLFIPS

The MQSSLFIPS environment variable specifies whether only FIPS-certified algorithms are to be used if cryptography is carried out in IBM MQ. You can set this environment variable to YES or NO The default is NO. These values are the same as for the SSLFIPS parameter of the ALTER QMGR command.

To set MQSSLFIPS, use one of these commands:
  • [AIX][Linux]On AIX and Linux systems:
    
    export MQSSLFIPS=YES|NO
    
  • [Windows]On Windows systems:
    
    SET MQSSLFIPS=YES|NO
    
  • [IBM i]On IBM i:
    
    ADDENVVAR ENVVAR(MQSSLFIPS) VALUE(YES|NO)
    

The use of FIPS-certified algorithms is affected by the use of cryptographic hardware. For more information, see Specifying that only FIPS-certified CipherSpecs are used at run time on the MQI client.

MQSSLKEYR

The MQSSLKEYR environment variable specifies the location of the key repository that holds the digital certificate belonging to the user.

[MQ 9.3.0 Jun 2022][MQ 9.3.0 Jun 2022]Specify the full path and the file name of the key repository. If the file suffix is not specified, it is assumed to be .kdb.

To set MQSSLKEYR, use one of these commands:
  • [AIX][Linux]On AIX and Linux systems:
    
    export MQSSLKEYR=pathname
    
  • [Windows]On Windows systems:
    
    SET MQSSLKEYR=pathname
    
  • [IBM i]On IBM i:
    
    ADDENVVAR ENVVAR(MQSSLKEYR) VALUE(pathname)
    

There is no default value for this environment variable.

For more information, see the SSLKEYR parameter of the ALTER QMGR command.

MQSSLPROXY

The MQSSLPROXY environment variable specifies the host name and port number of the HTTP proxy server to be used by GSKit for OCSP checks.

To set MQSSLPROXY, use one of these commands:
  • [AIX][Linux]On AIX and Linux systems:
    
    export MQSSLPROXY="string"
    
  • [Windows]On Windows systems:
    
    SET MQSSLPROXY= string
    

The string that you specify with MQSSLPROXY can be either the host name or network address of the HTTP Proxy server that is to be used by GSKit for OCSP checks. This address can be followed by an optional port number, enclosed in parentheses. If you do not specify the port number, the default HTTP port, 80, is used.

[AIX][Linux]For example, on AIX and Linux systems, you can use the one of the following commands:
  • 
    export MQSSLPROXY="proxy.example.com(80)"
    
  • 
    export MQSSLPROXY="127.0.0.1"
    

For more information, see Working with Online Certificate Status Protocol (OCSP).

MQSSLRESET

The MQSSLRESET environment variable specifies the number of unencrypted bytes sent and received on a TLS channel before the TLS secret key is renegotiated. It can be set to an integer in the range 0 through 999 999 999. The default is 0, which indicates that secret keys are never renegotiated. If you specify a TLS secret key reset count in the range 1 byte through 32 KB, TLS channels use a secret key reset count of 32 KB. This secret reset count is to avoid excessive key resets which would occur for small TLS secret key reset values.

To set MQSSLRESET, use one of these commands:
  • [AIX][Linux]On AIX and Linux systems:
    
    export MQSSLRESET=integer
    
  • [Windows]On Windows systems:
    
    SET MQSSLRESET=integer
    
  • [IBM i]On IBM i:
    
    ADDENVVAR ENVVAR(MQSSLRESET) VALUE(integer)
    

For more information, see Resetting SSL and TLS secret keys.

[AIX, Linux, Windows]

MQSUITEB

You can configure IBM MQ to operate in compliance with the NSA Suite B standard on AIX, Linux, and Windows platforms.

The MQSUITEB environment variable specifies whether Suite B compliant cryptography is to be used. If Suite B cryptography is to be used, you can specify the strength of the cryptography by setting MQSUITEB to one of the following:
  • NONE
  • 128_BIT, 192_BIT
  • 128_BIT
  • 192_BIT

You can specify multiple values using a comma separated list. Using the value NONE with any other value is invalid.

For more information, see Configuring IBM MQ for Suite B.

MQTCPTIMEOUT

The MQTCPTIMEOUT environment variable specifies how long IBM MQ waits for a TCP connect call.

ODQ_MSG

If you use a dead-letter queue handler that is different from runmqdlq, the source of the sample, amqsdlq, is available for you to use as your base. The sample is like the dead-letter handler provided within the product but trace and error reporting are different. Use the ODQ_MSG environment variable to set the name of the file containing error and information messages. The file that is provided is called amqsdlq.msg.

For more information, see Dead-letter queue handler sample.

ODQ_TRACE

If you use a dead-letter queue handler that is different from runmqdlq, the source of the sample, amqsdlq, is available for you to use as your base. The sample is like the dead-letter handler provided within the product but trace and error reporting are different. To enable tracing, set the ODQ_TRACE environment variable to YES or yes.

For more information, see Dead-letter queue handler sample.

WCF_TRACE_ON

Two different trace methods are available for the WCF custom channel. These two trace methods are activated either independently or together. Each method produces its own trace file, so when both trace methods have been activated, two trace output files are generated. There are four combinations for enabling and disabling the two different trace methods. As well as these combinations to enable WCF trace, the XMS .NET trace can be enabled by using the WCF_TRACE_ON environment variable.

For more information, see Tracing the WCF custom channel for IBM MQ.

WMQSOAP_HOME

The WMQSOAP_HOME environment variable is used when completing additional configuration steps after the .NET SOAP over JMS service hosting environment is correctly installed and configured in IBM MQ. It is accessible from a local queue manager.

For more information, see WCF client to a .NET service hosted by IBM MQ sample and WCF client to an Axis Java service hosted by IBM MQ sample.

XMS_TRACE_ON, XMS_TRACE_FILE_NUMBER, XMS_TRACE_FILE_PATH, XMS_TRACE_FILE_SIZE, XMS_TRACE_FORMAT, and XMS_TRACE_SPECIFICATION

If you are using IBM MQ classes for XMS .NET Framework, you can configure trace from an application configuration file as well as from the XMS environment variables. If you are using IBM MQ classes for XMS .NET (.NET Standard and .NET 6 libraries), you must configure trace from the XMS environment variables. Trace is normally used under the guidance of IBM Support.

To enable and configure trace for an XMS .NET application, set the following environment variables before running the application:
XMS_TRACE_ON
If the XMS_TRACE_ON environment variable is set, all trace is enabled by default.
XMS_TRACE_FILE_NUMBER
The XMS_TRACE_FILE_NUMBER environment variable specifies the number of trace files that are to be retained. The default is 4 (one active file and 3 archive files). The minimum number allowed is 2.
XMS_TRACE_FILE_PATH
The XMS_TRACE_FILE_PATH environment variable specifies the fully qualified path name of the directory that trace and FFDC records are written to, if you want these records to be written to an alternative location from the current working directory.
XMS_TRACE_FILE_SIZE
The XMS_TRACE_FILE_SIZE environment variable specifies the maximum allowed size of the trace file. When a file reaches this size, it is archived and renamed. The default maximum is 20 MB. File size is specified in bytes. For example, XMS_TRACE_FILE_SIZE=20000000.
XMS_TRACE_FORMAT
The XMS_TRACE_FORMAT environment variable specifies the required trace format, which can be either BASIC or ADVANCED.
XMS_TRACE_SPECIFICATION
The XMS_TRACE_SPECIFICATION environment variable overrides the trace settings defined in the Trace section of an application configuration file. XMS_TRACE_SPECIFICATION applies to IBM MQ classes for XMS .NET Framework only.

For more information, see Tracing XMS .NET applications and Tracing XMS .NET applications using XMS environment variables.