runmqsc (run MQSC commands)
Run IBM® MQ commands on a queue manager.
Purpose
Use the runmqsc command to issue MQSC commands to a queue manager. MQSC commands enable you to perform administration tasks. For example, you can define, alter, or delete a local queue object. MQSC commands and their syntax are described in MQSC commands.
You must use the runmqsc command from the installation associated with the
queue manager that you are working with. You can find out which installation a queue manager is
associated with by using the dspmq -o installation
command.
To stop the runmqsc command, use the end command. You can also use the exit or the quit command.
For Continuous Delivery, from IBM MQ 9.0.1, you can make it easier to see that you are in an MQSC environment and see some details of the current environment by setting a prompt of your choice by using the MQPROMPT environment variable. For more information, see Administration using MQSC commands.
From IBM MQ 9.0.0 Fix Pack 1, the MQPROMPT environment variable is also available in the Long Term Support release.
Syntax
You can use the -n parameter on its own, or you can use a number of other parameters in combination:Description
- Verify command
- Verify MQSC commands but do not run them. An output report is generated indicating the success or failure of each command. This mode is available on a local queue manager only.
- Run command directly
- Send MQSC commands directly to a local queue manager.
- Run command indirectly
- Run MQSC commands on a remote queue manager. These commands are put on the command queue of a remote queue manager and run in the order in which they were queued. Reports from the commands are returned to the local queue manager.
The runmqsc command takes its input from stdin
. When the
commands are processed, the results and a summary are put into a report that is sent to
stdout
.
By taking stdin
from the keyboard, you can enter
MQSC commands interactively.
Optional parameters
- -c
- Modifies the runmqsc command to connect to a queue manager by using a client connection. The client channel definitions used to connect to the queue manager are located using the following environment variables in this order of precedence:
MQSERVER,
MQCHLLIB, and
MQCHLTAB.
This option requires the client to be installed. If it is not installed an error message reporting the missing client libraries is issued.
- -e
- Prevents source text for the MQSC commands from being copied into a report. This parameter is useful when you enter commands interactively.
- -m LocalQMgrName
- The local queue manager that you want to use to submit commands to the remote queue manager. If you omit this parameter the local default queue manager is used to submit commands to the remote queue manager. The -w parameter must also be specified.
- -n
- Modifies the runmqsc command to not connect to a queue manager. If this
parameter is specified, all other command parameters must be omitted, otherwise an error message is
issued.
This option requires the client libraries to be installed. If they are not installed an error message is issued.
MQSC commands entered in this mode are limited to managing the local channel definition file, which is located through the MQCHLLIB and MQCHLTAB environment variables, or the default values if not defined.Note: If you add new entries into the local channel definition file, or alter existing entries, these changes are not reflected inside the queue manager. The queue manager does not read the contents of the local channel definition file. The CCDT file is a write-only file from the perspective of the queue manager. The queue manager does not read the contents of the CCDT file.Only the following MQSC commands are recognized:
ALTER, DEFINE, DELETE, DISPLAY AUTHINFO (Only of type CRLLDAP or OCSP)
ALTER, DEFINE, DELETE, DISPLAY CHANNEL (Only of type CLNTCONN)
For the AUTHINFO management commands, the names of existing AUTHINFO definitions are mapped and addressed using the namesCRLLDAPn
orOCSP n
(according to type), wheren
is the numeric order in which they appear in the channel definition file. New AUTHINFO definitions are appended to the client channel table in order. For example, the the following commands are issued:
This results in theDEFINE AUTHINFO(XYZ) AUTHTYPE(CRLLDAP) CONNAME('xyz') DEFINE AUTHINFO(ABC) AUTHTYPE(CRLLDAP) CONNAME('abc')
'xyz'
LDAP server being checked for a CRL first, if that CRL server is unavailable then the'abc'
server is checked.Using the DISPLAY AUTHINFO(*) CONNAME command shows this:AMQ8566: Display authentication information details. AUTHINFO(CRLLDAP1) AUTHTYPE(CRLLDAP) CONNAME(xyz) AMQ8566: Display authentication information details. AUTHINFO(CRLLDAP2) AUTHTYPE(CRLLDAP) CONNAME(abc)
Note: The client mode only supports inserting new entries at the end of the client channel table. If you want to change the order of precedence of the CRL LDAP servers, you must remove the existing objects from the list and reinsert them in the correct order at the end. - -u UserID
- If you use the -u parameter to supply a user ID, you are prompted for a matching password.
If you have configured the
CONNAUTH AUTHINFO
record withCHCKLOCL(REQUIRED)
orCHCKLOCL(REQDADM)
, you must use the -u parameter otherwise you will not be able to administer your queue manager with runmqsc.If you specify this parameter and redirect
stdin
, a prompt will not be displayed and the first line of redirected input should contain the password. - -v
- Verifies the specified commands without performing the actions. This mode is only available
locally. The -w and -x parameters are ignored if they are
specified at the same time as -v. Important: The -v flag checks the syntax of the command only. Setting the flag does not check if any objects mentioned in the command actually exist.
For example, if the queue
Q1
does not exist in the queue manager, the following command is syntactically correct and does not generate any syntax errors:runmqsc -v Qmgr display ql(Q1)
.However, if you omit the -v flag, you receive error message AMQ8147.
- -w WaitTime
- Run the MQSC commands on another queue manager. You must have the required channel and transmission queues set up for this. See Preparing channels and transmission queues for remote administration for more information.
This parameter is ignored if the -v parameter is specified.
- WaitTime
- The time, in seconds, that runmqsc waits for replies. Any replies received after this are discarded, but the MQSC commands still run. Specify a time in the range 1 through 999999.
Each command is sent as an Escape PCF to the command queue (SYSTEM.ADMIN.COMMAND.QUEUE) of the target queue manager.
The replies are received on queue SYSTEM.MQSC.REPLY.QUEUE and the outcome is added to the report. This can be defined as either a local queue or a model queue.
- -x
- The target queue manager is running under z/OS®. This parameter applies only in indirect mode. The -w parameter must also be specified. In indirect mode, the MQSC commands are written in a form suitable for the IBM MQ for z/OS command queue.
- QMgrName
- The name of the target queue manager on which to run the MQSC commands. If not specified, the default queue manager is used.
Return codes
Return code | Description |
---|---|
00 | MQSC command file processed successfully |
10 | MQSC command file processed with errors; report contains reasons for failing commands |
20 | Error; MQSC command file not run |
Examples
- Enter this command at a command prompt:
Now you can enter MQSC commands directly at the command prompt. No queue manager name is specified, so the MQSC commands are processed on the default queue manager.runmqsc
- Use one of these commands, as appropriate in your environment, to specify that MQSC commands are to be verified only:
The queue manager name is BANK. The command verifies the MQSC commands in file commfile.in and displays the output in the current window.runmqsc -v BANK < "/u/users/commfile.in" runmqsc -v BANK < "c:\users\commfile.in"
- These commands run the MQSC command file mqscfile.in against the default queue manager.
In this example, the output is directed to file mqscfile.out.runmqsc < "/var/mqm/mqsc/mqscfile.in" > "/var/mqm/mqsc/mqscfile.out" runmqsc < "C:\Program Files\IBM\MQ\mqsc\mqscfile.in" > "C:\Program Files\IBM\MQ\mqsc\mqscfile.out"
- This command submits commands to the QMREMOTE queue manager, using QMLOCAL to submit the commands.
runmqsc -w 30 -m QMLOCAL QMREMOTE