dmpmqcfg is the IBM MQ utility that answers a question every auditor asks: if this server burned down tonight, could you prove exactly how QM_PROD was configured yesterday? Exporting configuration is not optional in regulated industries—it is evidence. While runmqsc DISPLAY shows one object at a time, dmpmqcfg captures a structured dump of the queue manager repository suitable for diff tools, artifact storage, and documented restore procedures on supported releases. Beginners confuse dmpmqcfg with backing up messages; veterans run dmpmqcfg after every change window and store the file next to the change ticket. This tutorial explains what dmpmqcfg includes and excludes, common command options, pairing with crtmqm restore flows at overview level, DevOps automation patterns, security handling of exported secrets, comparison to scripted DISPLAY exports, and troubleshooting when export fails because the queue manager is down or authority is insufficient.
The export typically includes object definitions the queue manager stores in its configuration repository: QLOCAL, QREMOTE, QALIAS, channels, listeners, topics, subscriptions, AUTHINFO, CHLAUTH records where exportable, and queue manager attributes reflected in configuration files. It may also produce or reference mq.ini and qm.ini fragments depending on options documented for your MQ version. It does not include CURDEPTH message bodies, log file contents, or TLS private keys inside keystores—you backup keystores separately through your secrets vault. Treat dmpmqcfg output as sensitive: channel CONNAME values, LDAP bind DNs, and architecture hints belong in restricted storage.
1234567# Export configuration for queue manager QM1 (syntax per IBM MQ 9.x manual) dmpmqcfg -m QM1 -o /backup/mq/QM1-$(date +%Y%m%d).mqsc # -m — queue manager name to export # -o — output file path; use dated names for retention # Verify file size and spot-check contents head -50 /backup/mq/QM1-$(date +%Y%m%d).mqsc
| Method | Captures | Best for |
|---|---|---|
| dmpmqcfg | Bulk config export file | Scheduled snapshots, DR evidence |
| Git MQSC scripts | Intended desired state | CI/CD promotion |
| File copy /var/mqm | Repository + logs + queues | Full media restore with IBM procedure |
| DISPLAY QLOCAL(*) ALL | Selected objects via script | Targeted exports |
IBM MQ evolves dmpmqcfg flags by release—always read the dmpmqcfg help text on your installation. Typical patterns include selecting output directory, choosing whether to include certain object types, and exporting in a format compatible with recreate workflows. Some sites export to MQSC-like text that operators can review in a diff tool; others ingest JSON or structured output into configuration databases. The learning goal is automation: a cron job or pipeline step that fails the build if production drift differs from the last approved export without a matching change record.
1234dmpmqcfg -h # Read installed help for your exact flags # Compare two exports after change window: diff /backup/mq/QM1-before.mqsc /backup/mq/QM1-after.mqsc | less
Export supports migration when you build QM1_NEW with crtmqm using configuration derived from a tested export, then apply incremental ALTER for environment-specific CONNAME and ports. Never copy production CONNAME to lab without network isolation. Environment migration tutorial covers promotion discipline. dmpmqcfg proves what production looked like before ALTER; Git proves what you intended after merge. Both belong in CMDB-linked storage.
Exported files may list channel names, partner IP addresses, and authentication object names. PCI and SOX environments classify exports as configuration evidence, not cardholder data, but still protect them from public ticket attachments. Redact when sharing with vendors. Pair export with dspmqaut or AUTHREC documentation so restore includes OAM grants, not only DEFINE objects.
Messages are furniture in the rooms. dmpmqcfg is photocopying the architectural blueprint—the list of rooms and doors—not photographing the furniture inside.
dmpmqcfg is writing down all the rules about which mailboxes and tunnels exist so you can build them again if the post office building is rebuilt—even if no letters are copied in the notebook.
Export QM lab config; ALTER one queue MAXDEPTH; export again; diff the two files.
Add dmpmqcfg to a shell script with exit-on-error and dated filenames.
List five object types you expect in export and verify each appears with DISPLAY after restore test.
1. dmpmqcfg exports:
2. dmpmqcfg does not replace:
3. Good practice after ALTER in production:
4. Compare to Git MQSC: