The word MODIFY shows up in several z/OS conversations. In DB2 for z/OS the operator commands you care about are -MODIFY DDF and -MODIFY TRACE. The first retunes the Distributed Data Facility without a DDF recycle. The second changes which instrumentation events (IFCIDs) an already-running trace collects. This page covers both, how they differ from z/OS MODIFY irlmproc, and the options you will actually type from SDSF or DB2I COMMANDS.
Db2 operator commands use the subsystem recognition character (often -DISPLAY, -STOP, -MODIFY). You issue them from a z/OS console, SDSF, a DSN session, DB2I COMMANDS, IMS/CICS, or IFI. They are not SQL. They do not run under an application plan.
| Command | Purpose |
|---|---|
| -MODIFY DDF | Change DDF configuration while DDF is running (PKGREL, aliases, related options) |
| -MODIFY TRACE | Change IFCIDs/classes on one active Db2 trace (TNO from DISPLAY TRACE) |
| MODIFY irlmproc,... | z/OS command to IRLM (STATUS, SET, ABDUMP)—not a Db2 -MODIFY command |
Authorization for -MODIFY TRACE is the TRACE privilege, SYSOPR, SYSCTRL, or SYSADM. -MODIFY DDF requires a privilege set that can operate DDF (typically SYSOPR, SYSCTRL, or SYSADM). Commands from a logged-on console are checked with primary and secondary authorization IDs.
-MODIFY DDF changes the status and configuration of the Distributed Data Facility while DDF is up. The two jobs beginners meet first are controlling high-performance DBATs with PKGREL, and managing dynamic location aliases with ALIAS. Confirm current values with -DISPLAY DDF DETAIL (message DSNL106I shows PKGREL).
A DBAT (database access thread) that runs packages bound RELEASE(DEALLOCATE) can stay allocated across commits—a high-performance DBAT. That is great for CPU on a chatty DRDA application and painful when you need to BIND REPLACE, idle-thread break-in, or drain the package. PKGREL is the server-wide switch DDF consults.
| PKGREL | Meaning |
|---|---|
| COMMIT | Release packages at commit for DDF threads; high-performance DBAT off |
| BNDOPT | Honor each package’s RELEASE bind option; DEALLOCATE can create high-performance DBATs |
| BNDPOOL | Like BNDOPT with pooling behavior aimed at shorter-lived client connections |
123-DISPLAY DDF DETAIL -MODIFY DDF PKGREL(COMMIT) -MODIFY DDF PKGREL(BNDOPT)
IBM documents that if MODIFY DDF PKGREL(COMMIT) is in effect at the server, RELEASE(DEALLOCATE) has no effect on packages executed through a client DRDA connection. Use COMMIT when you need BIND/REBIND or utilities to break in; switch back to BNDOPT when the change window ends. BNDPOOL is the less common choice when the client does not stay connected for a long time.
A location alias is an extra LOCATION name and optional TCP/IP port that clients can use to reach a member or a subset of a data sharing group. Two families exist:
Typical dynamic-alias verbs:
12345-MODIFY DDF ALIAS(PAYROLL) ADD PORT(4461) -MODIFY DDF ALIAS(PAYROLL) START -DISPLAY DDF DETAIL -MODIFY DDF ALIAS(PAYROLL) STOP -MODIFY DDF ALIAS(PAYROLL) CANCEL
MAXDBAT must be greater than 0 for an alias to start usefully. Starting an alias registers it with z/OS WLM in data sharing so Sysplex Distributor can route to members that belong to that subset. Wrong PORT values collide with the main SQL port or with another alias—DISPLAY DDF before you ADD.
DISPLAY DDF DETAIL also reports session idle time (SESSIDLE), CONDBAT/MDBAT, and SQL/secure ports. Later function levels add more MODIFY DDF operands (for example session-idle overrides). Always match the Command Reference for your function level; do not copy a blog example that names an operand your member does not support.
-MODIFY DDF is not -START DDF or -STOP DDF. START/STOP bring the DIST address space listeners up or down. MODIFY changes options of an already-started DDF.
Db2 tracing is START TRACE, DISPLAY TRACE, STOP TRACE, and -MODIFY TRACE. START creates a trace with a type (PERFM, ACCTG, STAT, AUDIT, MONITOR, GLOBAL), CLASS list, optional IFCID list, DEST (SMF, GTF, OPn, OPX, SRV), and filters (PLAN, AUTHID, LOCATION, and the rest). Each active trace gets a trace number (TNO) from 1 to 32.
-MODIFY TRACE changes the IFCIDs (trace events) associated with one of those active traces. You point at the trace with TNO. You typically specify the trace type, CLASS, and/or IFCID list you want now. COMMENT can document why the trace was changed.
123-DISPLAY TRACE(*) -MODIFY TRACE(PERFM) TNO(4) CLASS(3) IFCID(22,23) -DISPLAY TRACE(PERFM) TNO(4)
Performance traces are expensive. Modify toward a smaller IFCID list when you have diagnosed the problem rather than leaving CLASS(1,2,3) running. GLOBAL traces are almost never what you want on a production member. Audit traces that use AUDTPLCY follow audit-policy rules; you cannot mix CLASS/IFCID with AUDTPLCY on START, and MODIFY must stay consistent with how the trace was started.
Operators also type MODIFY irlmproc,STATUS and related IRLM commands (SET, ABDUMP, DIAG). Those go to the IRLM started task, not to Db2’s command processor. They do not take the Db2 subsystem prefix in the same way, and they do not change DDF or IFCIDs. If lock timeout diagnosis is the goal, use IRLM STATUS and Db2 DISPLAY THREAD / DISPLAY DATABASE LOCKS together—not -MODIFY DDF.
-MODIFY DDF is adjusting the front door of the library while the library stays open: you can tell the door to forget “keep this book checked out until you leave” (PKGREL COMMIT), or you can hang an extra doorbell with its own number (an alias port). -MODIFY TRACE is telling one security camera (TNO 4) to watch different rooms without buying a new camera. MODIFY irlmproc is talking to the lock-box in the basement, which is a different building.
1. What does -MODIFY DDF PKGREL(COMMIT) do at a Db2 server?
2. Which aliases can -MODIFY DDF ALIAS manage dynamically?
3. What does -MODIFY TRACE change?
4. Is z/OS MODIFY irlmproc the same as -MODIFY DDF?
5. Who can typically issue -MODIFY TRACE?