MQCHLTAB names the file—not the folder—that IBM MQ clients open when they need CLNTCONN definitions from a binary client channel definition table. Operations folklore treats AMQCLCHL.TAB as immovable, but MQCHLTAB exists precisely so you can version, swap, and test tables without relocating the entire directory mount. A canary deployment might mount /var/mqm/ccdt unchanged while only MQCHLTAB shifts from AMQCLCHL.TAB to AMQCLCHL.CANARY.TAB for selected pods. Disaster recovery runbooks copy AMQCLCHL.DR.TAB into place and flip MQCHLTAB during the cutover window. Beginners set MQCHLLIB correctly yet leave MQCHLTAB unset assuming a default that differs on Windows versus Linux, or deploy a new file name without updating the variable so production still reads yesterday's table inode. This tutorial explains MQCHLTAB behavior, pairing with MQCHLLIB, multi-table strategies, change management, and troubleshooting filename mismatches.
When MQCHLTAB is unset, IBM MQ client libraries fall back to platform-documented defaults—commonly AMQCLCHL.TAB. Explicitly setting MQCHLTAB in all environments removes ambiguity in support calls. Custom names must match the actual file deployed: case sensitivity matters on Linux; Windows may be more forgiving but stay consistent. Do not point MQCHLTAB at a path with slashes—it is filename only; paths belong in MQCHLLIB.
| MQCHLTAB value | Use case | Risk if wrong |
|---|---|---|
| AMQCLCHL.TAB | Standard production | Stale prod table |
| AMQCLCHL.DR.TAB | DR failover window | Wrong CONNAME in DR |
| AMQCLCHL.UAT.TAB | UAT environment | UAT hits prod host |
| AMQCLCHL.BUILD123.TAB | Pipeline artifact | Orphan old builds |
12345678# Same directory, different table files export MQCHLLIB=/var/mqm/ccdt # Blue (current prod) export MQCHLTAB=AMQCLCHL.BLUE.TAB # Green (new CONNAME target) — switch env in deployment # export MQCHLTAB=AMQCLCHL.GREEN.TAB ls -l /var/mqm/ccdt/AMQCLCHL.*.TAB # Rolling restart apps after MQCHLTAB change
Keep both files in the directory during migration; switch MQCHLTAB per deployment wave. Validate CLNTCONN contents with MQ tools before cutover. Roll back by reverting MQCHLTAB without regenerating MQSC if the blue file was preserved. Document which Kubernetes Deployment sets which MQCHLTAB value in Helm values.yaml comments.
Export separate CCDT files from different CLNTCONN sets in runmqsc or Explorer—prod table versus DR table. Name outputs distinctly before copy to MQCHLLIB. Automation should never overwrite AMQCLCHL.TAB in place without backup; versioned filenames plus MQCHLTAB pointer make rollback one environment variable change. Store artifacts in artifact repository with semantic version tags matching application releases.
Container-native IBM MQ clients may ignore MQCHLTAB when using JSON connection configuration mounted elsewhere. Hybrid estates might use binary TAB on VMs and JSON in Kubernetes—maintain a matrix in operations wiki showing which technology uses which mechanism. Audits fail when teams assume one global standard.
MQCHLLIB is the drawer. MQCHLTAB is whether you pull the 2024 phone book or the 2026 DR edition from that drawer.
MQCHLTAB is the exact name of the paper in the folder so your app opens the right one when there are two papers.
Design blue-green filenames and MQCHLTAB values for a CONNAME change with rollback in one env var.
Write a checklist verifying MQCHLLIB and MQCHLTAB together before go-live.
Explain symptom when MQCHLTAB points to UAT file in production pod spec.
1. Default MQCHLTAB is often:
2. MQCHLTAB works with:
3. Renaming CCDT file needs:
4. Multiple tables in one dir use: