Certification Labs

Certification labs are where IBM MQ knowledge becomes muscle memory: you type runmqsc until DEFINE QLOCAL is automatic, you break TLS once and fix SSLCIPH with a partner checklist, you watch XMITQ depth fall only after START CHANNEL succeeds. Reading sample exam questions without labs produces false confidence; labs without objectives produces random tinkering. This page lists eight structured lab modules aligned to typical administrator and developer certification domains—each with goal, prerequisites, steps, verification, and cleanup. Use a disposable queue manager named QM_LAB on IBM MQ 9.4 or 9.3. Document results in a study journal examiners never see but you will trust on test day.

Lab Environment Setup

  1. Install IBM MQ or pull container image ibm-mq per IBM documentation.
  2. crtmqm QM_LAB; strmqm QM_LAB.
  3. Create Linux user mqm or use docker exec as admin.
  4. Optional second QM QM_LAB2 on another port for channel labs.
  5. Snapshot VM or volume before destructive labs.
text
1
2
3
4
5
crtmqm QM_LAB strmqm QM_LAB runmqsc QM_LAB DISPLAY QMSTATUS ALL * End lab session: endmqm -c QM_LAB when snapshotting

Lab 1: Objects and MQSC Foundation

Goal: Prove you can create and display core objects. Define QLOCAL(LAB.IN) REPLACE MAXDEPTH(1000) DEFPSIST(YES). Define QLOCAL(LAB.OUT) REPLACE. DISPLAY QLOCAL(LAB.*). Use amqsput and amqsget or sample programs to move one message. Verification: DISPLAY QLOCAL CURDEPTH 0 after get. Cleanup: DELETE QLOCAL(LAB.IN) PURGE; same for LAB.OUT.

Lab 2: Client Connection and Listener

Goal: Connect remote-style to local listener. DEFINE LISTENER(LAB.LSR) TRPTYPE(TCP) PORT(1414) CONTROL(QMGR). DEFINE CHANNEL(LAB.SVRCONN) CHLTYPE(SVRCONN). START LISTENER(LAB.LSR). Connect with runmqsc -c or client sample using CONNAME localhost(1414) and channel LAB.SVRCONN. Verification: DISPLAY CHSTATUS shows SVRCONN activity. Cleanup: STOP LISTENER; DELETE objects.

Lab 3: CHLAUTH and Authorization

Goal: Fix 2035 deliberately then correctly. SET CHLAUTH(*) TYPE(BLOCKUSER) USERLIST(nobody) ACTION(ADD). Attempt connection asserting nobody—fail. Add OAM grant: setmqaut -m QM_LAB -n LAB.IN -t q -p appuser +put +get. Add CHLAUTH ALLOW for appuser on SVRCONN. Verification: successful put/get as appuser. Cleanup: REMOVE BLOCKUSER entry; document commands used.

Lab 4: Sender and Receiver Channels

Goal: Move message between two queue managers. On QM_LAB define QREMOTE(TARGET) RNAME(TARGET) RQMNAME(QM_LAB2) XMITQ(SYSTEM.TRANSMIT.QM_LAB2). On QM_LAB2 define QLOCAL(TARGET). Pair SDR on QM_LAB with RCVR on QM_LAB2, CONNAME, START CHANNEL. Put to QREMOTE; verify on QM_LAB2 TARGET depth. Verification: MSGS increment on CHSTATUS. This lab often takes 90 minutes first time—schedule accordingly.

Lab 5: TLS Channel (Optional Advanced)

Goal: Configure one-way TLS on SVRCONN. Create keystore, configure CERTLABL on channel, set SSLCIPH to modern suite, connect with client trusting CA. Verification: channel shows SSL in status; connection without cert fails if required. Reference ssl-tls and tls-configuration tutorials if stuck.

Lab 6: Syncpoint Developer Lab

Goal: Commit versus backout. Use Java or C sample with syncpoint. Put two messages, commit—both on queue. Put two messages, backout—neither on queue. Verification: CURDEPTH counts. Links to transactions and rollback tutorials.

Lab 7: Troubleshooting Drill

Instructor or self-inflict: wrong CONNAME, blocked CHLAUTH, full queue (MAXDEPTH 1). Fix using DISPLAY CHSTATUS, AMQERR, and AUTHREC without DISABLE CHLAUTH globally. Time yourself—certification scenarios reward systematic checks.

Lab 8: Backup and Recovery Awareness

Goal: Understand clean shutdown and restart. dmpmqcfg -a before change. endmqm -c QM_LAB. strmqm. Confirm definitions persist. Optional advanced: kill -9 simulation in lab only, observe longer restart—read recovery-processing tutorial.

Lab Progress Tracker

Track completion
LabSkillDone?
1MQSC objects
2Listener/SVRCONN
3CHLAUTH/OAM
4SDR/RCVR
5TLS
6Syncpoint
7Troubleshooting
8Backup/restart

Explain Like I'm Five: Certification Labs

Certification labs are practice courses where you really ride the bike, not just read about pedals—so the test feels familiar.

Practice Exercises

Exercise 1

Complete Labs 1–4 in one weekend; photograph DISPLAY output for study notes.

Exercise 2

Redo Lab 7 under 30-minute time limit.

Exercise 3

Pair each lab with five sample exam questions from the prior page.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. Cert labs require:

  • Hands-on queue manager
  • Only reading
  • Production access
  • No MQ install

2. Two queue managers help learn:

  • Sender and receiver channels
  • Only DNS
  • Only JCL
  • Only FTP

3. After failed lab exercise:

  • Read AMQERR and retry
  • Delete all logs
  • Skip topic
  • Disable security forever

4. Docker MQ labs should:

  • Use persistent volumes for message labs
  • Always use --rm with no volume
  • Avoid TLS
  • Avoid listeners
Published
Read time25 min
AuthorMainframeMaster
Verified: IBM MQ 9.4 documentation