DB2 Messages Reference: How to Read DSN* Messages

DB2 for z/OS talks to operators and job logs through DSN* messages. Utilities shout in DSNU, DDF in DSNL, TSO attach in DSNE, recovery in DSNR/DSNJ, and install/service in DSNT. This reference teaches the identifier format, the main prefix families, and the fields every message write-up should include so you can search and diagnose instead of guessing.

Messages reference
Progress0 of 0 lessons

Message ID anatomy

IBM documents Db2 message identifiers as roughly eight to ten characters:

  • DSN — always the Db2 product prefix
  • 4th character — subcomponent (U utilities, L DDF, E TSO, …)
  • Numeric id — unique within that subcomponent
  • Type code — last letter: informational, warning, error, action, …
text
1
2
3
4
5
6
7
8
Example shape: DSNU123I ||| | | ||| | +-- type (I = information) ||| +----- numeric identifier ||+------- subcomponent U = utilities ++-------- DSN product prefix Optional: subsystem id / csect-name may appear with the message on the console.

Reason codes that travel with messages are four bytes: 00 + hex subcomponent id + numeric id (example style 00E50041). The second byte hex id maps to the same subcomponent story as the message letter—see IBM’s subcomponent identifier table in Messages and Codes.

Prefix map (searchable families)

Common DSN message families on z/OS
Prefix / familyTypical area
DSN… (general)Any Db2 subcomponent — read the 4th character
DSNTService controller / install (T); DSNTIAR apps
DSNUUtilities (U) — LOAD, REORG, COPY, …
DSNETSO attachment facility (E)
DSNLDistributed data facility / DDF (L)
DSNXRelational data system (X)
DSNJRecovery log manager (J)
DSNRRecovery manager (R)
DSN7Group manager (data sharing)
DSN8 / DSN9Sample apps / general command processor families

Other letters you will meet: B buffer manager, I data manager, H precompiler, P data space manager, V agent services, W instrumentation, Y initialization, Z system parameters. Subcomponents call each other, so a utility job can print a DSNU line that cites a reason code from another component.

What to record for every message

Treat this as the searchable template for a message reference entry—the same checklist the Db2 tutorial map spells out under “each page”:

Fields for a Db2 message reference card
FieldCapture
Message IDFull DSN… id including type code
Message textIBM short text with &tokens
ExplanationWhat happened in plain language
Severity / typeI info, W warning, E error, A action, …
TokensFilled-in names, DBID, reason codes, …
CauseUnderlying trigger when documented
Operator responseConsole / ops actions
Programmer responseApplication or utility JCL changes
DBA responseCatalog, space, auth, recovery actions
Related SQLCODEIf the message accompanies SQL failure
Related reason code00E… / 00C… style codes
Related abendX′04E′ / X′04F′ or system completion

DSNU — utilities

LOAD, UNLOAD, REORG, COPY, MERGECOPY, RECOVER, RUNSTATS, CHECK, REPAIR, and friends write DSNU messages to SYSPRINT and often to the console. When a utility fails, start with the last DSNU*E message before the step RC, not only the JCL condition code. Utility messages frequently name database, space, partitions, and reason codes you need for RECOVER or RESTART.

text
1
2
3
4
5
//SYSIN DD * REORG TABLESPACE DB1.TS1 LOG YES /* //SYSPRINT DD SYSOUT=* * Read SYSPRINT bottom-up for DSNU*E / DSNU*I completion messages

DSNL — distributed (DDF)

Connection failures, secure port issues, and location problems often show as DSNL messages while applications see SQLCODEs like -904, -30081-class network failures, or driver errors. Correlate the DDF message timestamp with the application SQLCA. DISPLAY DDF and DISPLAY LOCATION are operator companions to DSNL text.

DSNE — TSO attachment

SPUFI, DSN command processor sessions, and TSO-attached work emit DSNE messages. If interactive SQL “mysteriously” fails before an SQLCODE appears, read the DSNE line—authorization, connection, or DSN command syntax may be the real story.

DSNT — install / service controller (and DSNTIAR)

DSNT covers service controller and install-oriented messaging. Application programmers know DSNTIAR as the sample routine that formats SQLCA text— that name sits in the same T family even though your COBOL program is not “installing Db2.” Install CLISTs and migration panels also speak DSNT.

DSNX, DSNJ, DSNR, DSN7, DSN8, DSN9

  • DSNX — relational data system; SQL engine oriented subsystem messages
  • DSNJ — recovery log manager; log, BSDS, offload themes
  • DSNR — recovery manager; restart and unit-of-recovery themes
  • DSN7 — group manager; data sharing group issues
  • DSN8 / DSN9 — sample applications and general command processor oriented ranges—confirm the exact id in Messages for your release

Severity and who acts

  • Operator response — start/stop Db2, reply to WTOR, vary devices, run DISPLAY, collect dumps
  • Programmer response — fix SQL, bind options, utility control statements, application retry logic
  • DBA response — space, auth, recovery, pending states, parameter changes

Many messages list more than one audience. Do not ignore the operator section because you are an application developer—the fix might be “start DB2” or “run RECOVER.”

Relating messages, SQLCODEs, reason codes, and abends

A single incident can show all four:

text
1
2
3
4
Console: DSN… message with reason 00C9008E SQLCA: SQLCODE -911 / -913 (timeout/deadlock family) Dump: possible task abend if the failure escalates Action: look up message + reason + SQLCODE together

Search order that works: full message ID → reason code → SQLCODE → abend completion code. Paste all of them into the incident ticket.

Explain It Like I'm Five

Db2 messages are notes from different rooms in the same school. Every note starts with the school name DSN. The next letter says which room wrote it (utility room U, network room L, …). The number is which note. The last letter says how loud (info vs alarm). Read the whole note, including the fill-in-the-blank names, before you run to the principal (IBM support).

Exercises

  1. From a utility SYSPRINT, list every unique DSNU message ID and its type code letter.
  2. Look up one DSNL message in IBM Docs and write the operator response in your own words.
  3. Map the 4th character of five messages you find this week to the subcomponent table.
  4. Build a ticket template with the twelve fields from the “what to record” table.
  5. Find a message that cites a reason code and look up that reason code in Codes.

Quiz

Test Your Knowledge

1. A Db2 message identifier always starts with:

  • SQL
  • DSN — the Db2 component prefix
  • IEF
  • CICS

2. DSNU messages are primarily from:

  • DDF only
  • Db2 utilities (subcomponent U)
  • IRLM only
  • CICS attachment

3. DSNL messages relate to:

  • Precompiler only
  • Distributed data facility (DDF)
  • Buffer pools only
  • SMS

4. When reading a message you should capture:

  • Only the three letters DSN
  • Full message ID, text, tokens, severity/type, and any related SQLCODE, reason code, or abend
  • Only SQLCODE
  • Only the job name

5. DSNT often points at:

  • XML manager
  • Service controller / install and many TSO attachment utilities (subcomponent T)
  • MQ only
  • Only abend 0C4