SMF 101-239
    • 04 Mar 2024
    • 8 Minutes to read
    • Contributors
    • Dark
      Light

    SMF 101-239

    • Dark
      Light

    Article summary

    Introduction

    DB2 accounting will be collected from SMF type 101. In this type of record, it doesn’t really matter the SMF subtype of the SMF record because DB2 uses another specification type to distinguish different SMF specializations.

    In DB2 there is an identification named IFCID (Instrumentation Facility Component Identifier) each one with different data and purpose. ZSA already extracts SMF 101 IFCID 003, but there is important information not available at IFCID 003 but present in IFCID 239, like package name, collection name, and many other fields.
    IFCID 003 and 239 are related and there are several common fields present. For this IFCID 239 of SMF 101, ZSA will produce IFCID 239, a CSV record with qualifier I239 including PROD section and General Package accounting section.

    Following the same rules previously established, for each CSV record, a new SQL Table should be created. In this case, we will have 1 new SQL Table

    Notes

    • The SMF fields used as input to populate the fields of CSV have the same name of CSV fields, excluding the prefix of each CSV field. For instance, CSV field DB2239_QPACRECN is populated by SMF field QPACRECN.
    • CSV records I239, produced by SMF 101 IFCID 239 are related to CSV DBA, produced by SMF 101 IFCID 003. having the same information in CSV Header and in QWHS, QWHC, QWHD, QWHA and QWHU sections, which are defined in both DND2QWH macro (IFCID 239) and DNFDBA macro (IFCID 003). These macros will be described here and are located at ZCOSR.DXPV6400.SOURCE at ZDEVL environment.
    • When the field type is indicated as HEX, it is normally a counter or a total and should be converted to a decimal value by the windows parser.

    Fields

    Stored in db2accountings

    Note: the package name is a concatenation of the following fields in order (spaced with spaces) :

    • location_name
    • package_collection_id
    • program_name
    SMF FieldDB Column nameDescriptionUnit
    QWHSLOCNlocal_location_nameLocal location name
    QWHSNIDluwid_network_idLUWID Network ID
    QWHSLUNMluwid_lunameLUWID LUNAME
    QWHSLUUVluwid_uniquen_hexLUWID UNIQUEN
    QWHSLUCCluwid_commit_hexLUWID COMMIT
    QWHSACEace_address_hexACE address
    QWHCAIDauthorization_idAuthorization ID
    QWHCCVcorrelation_idCorrelation ID
    QWHCPLANplan_namePlan name
    QWHCOPIDorig_operator_idOriginal operator ID
    QWHCATYPconnect_type_hexConnection type
    QWHCCNconnection_nameConnection name
    QWHCEUIDenduser_user_idEnduser USER-ID
    QWHCEUTXenduser_transactionEnduser transaction
    QWHCEUWNenduser_workstationEnduser workstation
    QWHCTCXTtrusted_contextTrusted context
    QWHCROLErole_nameRole name
    QWHCCTKNcorrelation_tokenCorrelation token
    QWHDRQNMrequester_locationRequester location
    QWHDSVNMsrvnam_parameterSRVNAM parameter
    QWHDPRIDproduct_id_parmProduct ID parameter
    QWHAMEMNdb2_member_nameDB2 member name
    QWHADSGNdb2_group_nameDB2 group name
    QWHUCPUcpu_time_ziip_cpCPU time ZIIP+CP
    QWHUSEcpu_time_ziip_hexCPU time ZIIP
    QPACRECNqpac_data_numberNumber of this DSNDQPAC data section in the series of DSNDQPAC data sections that may be externalized in IFCID 239. QWACPKGN and QPKGPKGN identify the number of packages for which package accounting has been performed
    QPACFLGSqpac_flag
    1. Rollup QPAC
    2. Summary Rollup QPAC
    3. Non-zero accounting class 8 data
    4. Current or most recent exec package
    5. Loaded by stored procedure
    6. Non-zero accounting class 7 data
    7. Auth check success w/o access to the db2 catalog
    8. Incompatible Fonction
    QPACLOCNlocation_nameLocation name
    Truncated if QPACLOCN_OFF=0
    QPACCOLNpackage_collection_idPackage collection ID
    Truncated if QPACCOLN_OFF=0
    QPACPKIDprogram_nameProgram name
    Truncated if QPACPKID_OFF=0
    QPACCONTconsistency_tokenConsistency token
    QPACSQLCsql_statements_numberNumber of SQL requests
    This field may not equal the sum total of all SQL statement counters in the DSNDQXST data section. This is because DSNDQXST does not count all SQL statements
    QPACSCBclock_value_entry_most_recent_execStore clock value at entry to DB2 for most recent execution of this package
    QPACSCEclock_value_exit_most_recent_execStore clock value at exit from DB2 after most recent execution of this package
    QPACSCTtotal_time_all_execTotal elapsed time spent processing all executions of this packagemillisecond
    QPACBJSTcpu_time_entry_most_recent_execCPU time at entry to DB2 for the most recent execution of this package. This time does not include CPU consumed on an IBM specialty engine
    QPACEJSTcpu_time_exit_most_recent_execCPU time at exit to DB2 for the most recent execution of this package. This time does not include CPU consumed on an IBM specialty engine
    QPACTJSTtotal_cpu_time_all_execCPU time for all executions of this package. This time does not include CPU consumed on an IBM specialty enginemillisecond
    QPACARNAnumber_db2_entries_exits_eventsNumber of DB2 entry or exist events processed while executing this package
    QPACARNEnumber_wait_for_ioNumber of wait trace events processed for waits for I/O under this thread while executing this package
    QPACAWTIaccum_io_waitAccumulated I/O elapsed wait time for I/O done under this thread while executing this packagemillisecond
    QPACAWTLaccum_lock_waitAccumulated lock elapsed wait time that occured while executing this packagemillisecond
    QPACAWTRaccum_wait_io_read_on_other_threadAccumulated wait time for read I/O that is done under a thread other than this one while executing this packagemillisecond
    QPACAWTWaccum_wait_io_write_on_other_threadAccumulated wait time for write I/O that is done under a thread other than this one while executing this packagemillisecond
    QPACAWTEaccum_wait_db2_servicesAccumulated wait time due to synchronous executing unit switch to DB2 services from this thread while executing this package. The following DB2 service waits are included in this field
    • Open/Close dataset
    • SYSLGRNG update
    • HSM recall dataset
    • Data space manager services
    • Define dataset
    • Extend dataset
    • Delete dataset
    • Autonomous procedure

    There is no overlap between the elapsed time reported in this field and the other class 8 elapsed times
    There is no overlap between the elapsed time reported in this field and the elapsed time reported INQLACCPUL for the thread with distributed activity
    millisecond
    QPACALOGaccum_wait_archive_logsAccumultad wait time due to processing of archive log mode (QUIESCE) commands while executing this package. This number represents the amount of time that an individual thread was suspended due to an archive log mode (QUIESCE) command and not the time that it took for the entire command to completemillisecond
    QPACARNLnumber_wait_for_locksNumber of wait trace events processed for waits on locks while executing this package
    QPACARNRnumber_wait_io_read_on_other_threadNumber of wait trace events processed for waits for read I/O under another thread while executing this package
    QPACARNWnumber_wait_io_write_on_other_threadNumber of wait trace events processed for waits for write I/O under another thread while executing this package
    QPACARNSnumber_wait_db2_servicesNumber of wait trace events processed for waits for synchronous execution unit switching to DB2 service tasks while executing this package
    QPACALCTnumber_suspensions_archive_logNumber of suspensions due to processing of archive log mode (QUIESCE) commands while executing this package
    QPACARNDnumber_wait_drain_lockNumber of wait trace events processed for waits for a drain lock while executing this package
    QPACAWDRaccum_wait_drain_lockAccumulated wait time for a drain lock while executing this packagemillisecond
    QPACAWCLaccum_wait_drain_releaseAccumulated wait time for a drain when waiting for claims to be released while executing this packagemillisecond
    QPACARNCnumber_wait_suspensions_releaseNumber of wait trace events processed for suspensions to wait for claims to be released while executing this package
    QPACAWARaccum_wait_read_archive_active_active-logAccumulated wait time for
    • Archive reads
    • Active reads
    • active log prefetch reads
    millisecond
    QPACANARnumber_wait_read_archive_active_active-logNumber of wait trace events processed for
    • Archive reads
    • Active reads
    • active log prefetch reads
    QPACAWTPaccum_wait_page_latch_contentionAccumulated wait time due to page latch contention while executing this packagemillisecond
    QPACARNHnumber_wait_page_latch_contentionNumber of wait trace events processed for page latch contention while executing this package
    QPACAWTGaccum_wait_sending_msgs_db2_data_sharing_grpAccumulated wait time due to sending of messages within the DB2 data sharing groupmillisecond
    QPACAWTJaccum_wait_global_contention_parent_llocksAccumulated wait time due to global contention for parent L-LOCKS. Global contention occurs when inter-system communication is required to resolved an IRLM lock or change request. QPACAWTL contains the wait time due to local contention. Local contention does not require inter-system communication. It can be resolved by the local subsystemmillisecond
    QPACARNGnumber_wait_msgs_db2_data_sharing_grpNumber of wait trace events processed for messages within the DB2 data sharing group
    QPACARNJnumber_wait_global_contention_parent_llocksNumber of wait trace events processed for waits for global lock contention for parent L-LOCKS
    QPACSPNSnumber_stored_exec_proceduresNumber of stored procedures executed
    QPACUDNUnumber_user_defined_scheduled_fctsNumber of user-defined functions scheduled
    QPACASCHnest_activity_schemaNested activity schema name
    QPACAANMactivityName of activity
    QPACAAFGactivity_flagActivity flag
    1. Stored procedure
    2. User defined function
    3. Trigger executing
    4. Native SQL stored procedure
    5. Non-inline UDF
    QPACAWTKaccum_wait_global_contention_child_llocksAccumulated wait time due to global contention for child L-LOCKSmillisecond
    QPACAWTMaccum_wait_global_contention_other_llocksAccumulated wait time due to globa contention for other L-LOCKSmillisecond
    QPACAWTNaccum_wait_global_contention_pageset_part_plocksAccumulated wait time due to global contention for PAGESET/PARTITION P-LOCKSmillisecond
    QPACAWTOaccum_wait_global_contention_page_plocksAccumulated wait time due to global contention for page P-LOCKSmillisecond
    QPACAWTQaccum_wait_global_contention_other_plocksAccumulated wait time due to global contention for other P-LOCKSmillisecond
    QPACARNKnumber_wait_global_contention_child-llocksNumber of wait trace events processed for waits for global lock contention for child L-LOCKS
    QPACARNMnumber_wait_global_contention_other_llocksNumber of wait trace events processed for waits for global lock contention for other L-LOCKS
    QPACARNNnumber_wait_global_contention_pageset_part_plocksNumber of wait trace events processed for waits for global lock contention for PAGESET/PARTITION P-LOCKS
    QPACARNOnumber_wait_global_contention_page_plocksNumber of wait trace events processed for waits for global lock contention for page P-LOCKS
    QPACARNQnumber_wait_global_contention_other_plocksNumber of wait trace events processed for waits for global lock contention for other P-LOCKS
    QPACSWITCHnumber_invoked_from_other_packageNumber of times package was invoked from a different package. For the first package run by an aplication
    The initial call counts as a package switch. If this package called a nested package (a trigger, UDF or stored procedure). A switch will not be counted upon return from such a package
    QPACCLS7_ZIIPtotal_cpu_time_all_exec_on_specialilty_engineCPU time for all execution of this package consumed on an IBM special enginemillisecond
    QPACALBCnumber_wait_lob_xmlNumber of wait trace events processed for waits for TCP/IP LOB or XML materialization while executing this package
    QPACALBWaccum_wait_lob_xmlAccumulated wait time for TCP/IP LOB or XML materialization while executing this packagemillisecond
    QPACAWLHaccum_wait_latch_suspensionAccumulated latch elapsed wait time for latch suspensions that occured while executing this packagemillisecond
    QPACANLHnumber_wait_latchNumber of wait trace events processed for waits on latches while executing this package
    QPACRLNUnumber_threads_roll_dataNumber of threads to roll data into this QPAC data section. Non-rollup QPACs will have a value of 1 and rollup QPACS will have a value of 1 or more
    QPACAACCnumber_wait_acceleratorNumber of wait trace events processed for requests to an accelerator while executing this package
    QPACAACWaccum_wait_acceleratorAccumulated wait time for requests to an accelerator while executing this packagemillisecond
    QPAC_PQS_WAITaccum_wait_parallel_synchro_parent_childAccumulated time waiting for parallel query processing to synchronize between parent and child tasksmillisecond
    QPAC_PQS_COUNTnumber_suspended_parallel_synchro_parent_childNumber of times a parallel query processing suspended waiting for parent/child to synchronize

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.