A fix is available
APAR status
Closed as new function.
Error description
New function for -MODIFY DDF command
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * * All Db2 12 for z/OS and Db2 13 for z/OS * * users. * **************************************************************** * PROBLEM DESCRIPTION: * * Not all DDF transactions trigger an * * accounting record occurrence due to * * the possibility that a resource * * remains open after a commit/rollback. * **************************************************************** * RECOMMENDATION: * **************************************************************** DDF as a server to distributed client applications has rules which govern when an accounting trace record is cut to record the distributed transaction just processed. When certain resources are still open, such as open, WITH HOLD cursors and/or declared global temporary tables still exist, the DBAT associated with processing the distributed request will remain "active" with the client connection, AND, Db2 will not cut an accounting record or end the WLM enclave associated with the work. In addition to the above mentioned resources, a DBAT will remain active with its distributed connection if the DBAT has accessed a RELEASE DEALLOCATE package (-MODIFY DDF PKGREL(BNDOPT) is active) or a package bound with KEEPDYNAMIC YES so far in its processing. However, if the only "open" resources are RELEASE DEALLOCATE or KEEPDYNAMIC YES packages that are pending after a commit/rollback, Db2 will cut an accounting record. The WLM enclave may or may not be ended.
Problem conclusion
Temporary fix
Comments
DDF is introducing a new -MODIFY DDF command option, ACCTG, which, when issued with the new ACCTG(ALLCOMMIT) option value, will request that Db2 generates more granular accounting trace records for distributed database applications. The setting of the new ACCTG option to ALLCOMMIT will require that the PTF for APAR OA61811 is applied in your z/OS environment and Db2 is running with the DSN6FAC CMTSTAT subsystem parameter set to INACTIVE. When a -MODIFY DDF command with the ACCTG(ALLCOMMIT) option is performed, Db2 will issue the following message: DSNL302I ACCTG IS SET TO ALLCOMMIT A -MODIFY DDF command must be performed with no option value for the ACCTG keyword as follows: -MODIFY DDF ACCTG to return to the default behavior and Db2 will issue the following message: DSNL302I ACCTG IS SET TO COMMIT_WITH_NO_OPEN_RESOURCES When the ACCTG(ALLCOMIT) option is attempted, but the PTF for APAR OA61811 is not applied in z/OS or Db2 is not running with the DSN6FAC CMTSTAT system parameter set to INACTIVE, Db2 will issue the preceding message to indicate that the default behavior is still being used. When the ACCTG option is set back to its default setting, or if the setting was never changed, Db2 will generate an accounting trace record when no open resource exists past a commit or rollback. If any of the following resources remain open and pending, Db2 will not generate an accounting trace record: - Open WITH HOLD cursors - Declared global temporary tables that are not dropped - Unreleased LOB locators - A commit processed by a stored procedure when running with 2-phase commit rules - Allocated RELEASE DEALLOCATE packages (due to the -MODIFY DDF PKGREL(BNDOPT) option) - Allocated KEEPDYNAMIC YES packages However, if only one of the last two preceding resources types, but not both, are open after a commit or rollback, Db2 will generate an accounting trace record occurrence after a commit or rollback. For distributed threads, the current ACCTG option value will take effect when the thread performs a commit or rollback and the option value will be saved by the distributed thread. The saved option value will then govern when accounting trace records are generated. Once an accounting trace record can be generated when no open resources exist, the distributed thread will reset its setting of the ACCTG option value. Important: When the ACCTG(ALLCOMMIT) setting is used, the volume of accounting trace record occurrences will increase. The size of the increase depends on whether distributed application workloads have a large number of the above open resource types. When no resources are left open after a commit or rollback, -MODIFY DDF ACCTG(ALLCOMMIT) will essentially have no affect. You can also use the following subsystem parameters to control the value and size of the accounting trace records: - When set to a numeric value, the ACCUMACC value will control the volume of trace record occurrences. - When set to ON, the SMFCOMP value will control the size of accounting trace records. The -DISPLAY DDF command output will display the ACCTG option setting in the DSNL106I message only when the ACCTG(ALLCOMMIT) option setting is in effect. The value of the ACCTG option is saved and restored between Db2 restarts.
APAR Information
APAR number
PH55241
Reported component name
DB2 OS/390 & Z/
Reported component ID
5740XYR00
Reported release
C10
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2023-06-16
Closed date
2023-08-30
Last modified date
2023-10-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI93368 UI93369
Modules/Macros
DSNLCTRC DSNLQCTL DSN9SCNA DSNLTDDF DSNLQINA DSNLJTIN DSNLTMDF DSNLCAIA DSNLTACC DSNLTSTR
Fix information
Fixed component name
DB2 OS/390 & Z/
Fixed component ID
5740XYR00
Applicable component levels
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"DB2 for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.0","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Document Information
Modified date:
02 October 2023