CSQ Commands

If distributed IBM MQ administrators live in runmqsc and REST, z/OS operators live in CSQ. The CSQ command prefix drives IBM MQ on the mainframe from SDSF, automation consoles, and batch utilities—starting listeners, displaying shared queue depth during incidents, altering channel definitions under change control, and confirming queue sharing group members are active after IPL weekend. Beginners who only practiced MQ in Docker may never have seen operator syntax; veterans memorize a handful of DISPLAY variants that answer is the queue manager up and why are puts failing. This tutorial introduces CSQ versus CSQUTIL versus runmqsc, command categories (DISPLAY, ALTER, START, STOP), queue sharing group displays, safety habits for production, mapping to MQSC concepts you already know, and how CSQ fits nightly automation on the mainframe.

Command Entry Points

Ways to administer IBM MQ on z/OS
MethodTypical useAudience
CSQ from SDSF / consoleLive display and controlled ALTEROperations shift
CSQUTIL batchScripted DEFINE/ALTER packagesChange management
runmqsc (USS/batch)Familiar MQSC if site allowsHybrid admins
REST (if enabled)Automation from distributed toolingModern ops
MQ ExplorerGUI against z/OS QMDevelopers, support

Sites standardize one primary path for production changes to keep audit trails consistent. Mixing ad hoc console ALTER with unreviewed scripts causes drift. Beginners should copy the site runbook before improvising.

DISPLAY: Read-Only Investigation

DISPLAY commands answer incident questions without changing state. Examples mirror distributed MQSC: queue depth and open handles, channel status, listener status, authinfo, and queue manager parameters. On QSG estates, displays include member status and shared queue disposition. During Sev-1, operators chain DISPLAY QLOCAL, DISPLAY CHSTATUS, and structure utilization views before any ALTER.

text
1
2
3
4
5
6
/* Illustrative forms — verify against IBM MQ for your release */ DISPLAY QMGR ALL DISPLAY QLOCAL('PAYMENTS.IN') CURDEPTH QSGDISP CFSTRUCT DISPLAY CHSTATUS('TO.PARTNER') ALL DISPLAY LSSTATUS('LISTENER.TCP') ALL

Command exact spelling and parentheses rules follow z/OS operator conventions documented by IBM. Automation tools wrap the same strings operators type manually.

ALTER: Controlled Change

ALTER modifies objects—queue MAXDEPTH, channel CONNAME, authentication settings. Production ALTER requires change tickets, backout scripts, and often a maintenance window for channels in flight. ALTER QMGR attributes affects the entire member; in a QSG understand whether attributes are group-wide or member-specific per IBM tables. Test ALTER packages in qualification sysplexes with matching CF structure sizes where possible.

START and STOP

  • START CHANNEL / STOP CHANNEL—bring partner links up or down for network changes.
  • START LISTENER—accept client and channel connections on a port.
  • STOP QMGR—controlled shutdown; understand QSG impact if stopping one member.
  • Subsystem start—JCL procedures cold-start the MQ address space; separate from a single ALTER.

CSQUTIL Batch Processing

CSQUTIL reads input cards or data sets with MQSC-like statements executed against the queue manager. Change teams package DEFINE and ALTER with SMP/E promotions. Return codes in job output must be zero before closing tickets. CSQUTIL is how mainframe shops achieve the same repeatability distributed teams get from Git-stored .mqsc files—only the transport is JCL.

text
1
2
3
4
5
6
7
//MQDEF JOB ... //STEP1 EXEC PGM=CSQUTIL //SYSPRINT DD SYSOUT=* //INPUT DD * DEFINE QLOCAL('TEST.IN') QSGDISP(SHARED) CFSTRUCT(MQSG001) ALTER QLOCAL('TEST.IN') MAXDEPTH(10000) /* end input */

Queue Sharing Group Displays

Operators verify all QSG members are active after sysplex events, display which member owns private queue depth spikes, and confirm shared queues show consistent depth from any member. Commands tie to coupling facility structure monitoring—CSQ alone does not replace CF utilization dashboards. Link displays in runbooks so overnight staff know the sequence.

Safety and RACF

DISPLAY is lower risk than ALTER but may still expose sensitive queue names in logs. ALTER mistakes can stop channels or set MAXDEPTH zero. RACF profiles and command protection limit who may issue destructive verbs. Use qualification sysplex commands before production. Never paste production ALTER scripts from the internet without site review.

Mapping CSQ to MQSC Mental Model

If you know DISPLAY QLOCAL CURDEPTH on Linux, search IBM documentation for the z/OS equivalent CSQ form—the concepts align, punctuation may differ. Object types (queues, channels, namelists, topics) exist on both platforms. Platform-specific attributes (QSGDISP, CFSTRUCT) appear only on z/OS definitions. Keeping a cross-reference cheat sheet in the team wiki accelerates onboarding.

Explainer: Cockpit Instruments

CSQ commands are the cockpit instruments for IBM MQ on z/OS. DISPLAY tells speed and fuel; ALTER adjusts flaps; START and STOP are ignition. CSQUTIL is the pre-flight checklist printed on paper the airline requires.

Explain Like I'm Five: CSQ Commands

CSQ commands are how grown-up operators ask IBM MQ questions and tell it what to change on the mainframe computer.

Practice Exercises

Exercise 1

Write an incident checklist: three DISPLAY commands you would run for channel failure, in order.

Exercise 2

Compare how your site stores MQ changes—CSQUTIL JCL, Git MQSC, or both.

Exercise 3

Find IBM documentation for one DISPLAY command you have never used and summarize what it shows.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. CSQ commands are primarily for:

  • z/OS IBM MQ operations
  • Linux only
  • DNS
  • VSAM define

2. CSQUTIL is suited for:

  • Batch scripted changes
  • Only CICS compile
  • Only FTP
  • Only IMS

3. DISPLAY commands help operators:

  • See object status
  • Delete the sysplex
  • Format CF permanently
  • Skip RACF

4. runmqsc on distributed is closest to:

  • CSQ/CSQUTIL on z/OS
  • JCL only
  • RACF only
  • SMP/E only
Published
Read time22 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation