SMF 100-002A DB2 Statistics
    • 21 May 2024
    • 12 Minutes to read
    • Contributors
    • Dark
      Light

    SMF 100-002A DB2 Statistics

    • Dark
      Light

    Article summary

    Introduction

    DB2 statistics will be collected from SMF type 100. 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.

    The statistics trace reports information about how much the Db2 system services and database services are used.

    You can use the information that the statistics trace provides to plan Db2 capacity or to tune the entire set of active Db2 programs.

    If you specify YES for the SMF STATISTICS entry in panel DSNTIPN, the statistics trace uses classes 1, 3, 4, 5, and 6 as the defaults. If the statistics trace is started using the START TRACE command, the statistics trace uses class 1 as the default.

    The following table describes the Db2 statistics trace classes.

    If you specify YES for the SMFSTAT subsystem parameter, the statistics trace starts automatically when you start Db2, and sends the default classes (classes 1, 3, 4, 5, and 6) statistics data to SMF. SMF records statistics data in both SMF type 100 and 102 records. IFCIDs 0001, 0002, 0202, 0225, 0230, and 0369 are of SMF type 100. All other IFCIDs in statistics trace classes are of SMF type 102.

    When you specify CLASS(7) or IFCID(365) in a START TRACE or MODIFY TRACE command, Db2 writes IFCID 0365 records. These records are written to the specified destination of the statistics trace for remote locations that communicate with the subsystem. Statistics are generated only for those locations that have activity since the record was generated. The location statistics are written each time that the STATIME interval elapses. Statistics can be written for as many as 95 remote locations.

    Db2 also writes statistics about all DRDA locations with the other default statistics trace data to a single SMF location named DRDA REMOTE LOCS, whenever other default statistics are written.

    Statistics trace classesThe following table shows the IFCIDs that are activated for each statistics trace class.Table 1. Classes for Db2 statistics traceClassDescription of classActivated IFCIDs1Information about system services, database statistics, statistics for the database services address space (ssnmDBM1), and information about the system parameters that were in effect when the trace was started. This default class is also activated when you omit the CLASS keyword from the START TRACE command when you start the statistics trace.0001, 0002, 0105, 0106, 0202, 02252Installation-defined statistics record01523Deadlock, lock escalation, group buffer pool, data set extension information, and indications of long-running uncommitted reads, and active log space shortages.0172, 0196, 0250, 0258, 0261, 0262, 0313, 0330, 03374Db2 exceptional conditions.0173, 0191-0195, 0203-0210, 0235, 0236, 0238, 0267, 02685Db2 data sharing statistics record.02306Storage statistics for the Db2 subsystem.02257DRDA location statistics.03658Data set I/O statistics.01999Aggregated CPU and wait time statistics by connection type.036910 - 29Reserved. 30 - 32Available for local use.

    Intervals for collecting Db2 statistics trace records
    Db2 collects statistics trace records for the following IFCIDs at the interval specified by the STATIME and SYNCVAL subsystem parameters. For more information, see STATISTICS TIME field (STATIME subsystem parameter) and

    STATISTICS SYNC field (SYNCVAL subsystem parameter)

    0105 (Db2 performance trace)
    0106 (system parameters)
    0199 (data set statistics)
    0365 (remote location statistics)
    0402 (monitor profile warnings or exceptions)
    Db2 collects statistics trace records for other IFCIDs at fixed one-minute intervals.

    CSV I002A for SMF 100 IFCID 002, which includes PROD section, SQL stats.

    Fields

    Stored in dbsi002a

    SMF FieldDB Column nameDescriptionUnit
    DBSHD_RTYrecord_typeValue is always I002A
    DBSHD_SIDsidSID
    DBSHD_DTTMwrite_datetimeDate/Time written into SMF buffer
    DBSHD_SSIDssidSubsystem ID
    DBSQWH_QWHSLOCNlocal_location_nameLocal location name
    DBSQWH_QWHSNIDluwid_network_idLUWID Network ID
    DBSQWH_QWHSLUNMluwid_lunameLUWID LUNAME
    DBSQWH_QWHSLUUVluwid_uniquenLUWID UNIQUEN
    DBSQWH_QWHSLUCCluwid_commitLUWID COMMIT
    DBSQWH_QWHSACEace_addressACE address
    DBSQWH_QWHCAIDauthorization_idAuthorization ID
    DBSQWH_QWHCCVcorrelation_idCorrelation ID
    DBSQWH_QWHCPLANplan_namePlan name
    DBSQWH_QWHCOPIDoriginal_operator_idOriginal operator ID
    DBSQWH_QWHCATYPconnection_typeConnection type
    DBSQWH_QWHCCNconnection_nameConnection name
    DBSQWH_QWHCEUIDenduser_idEnduser USER-ID
    DBSQWH_QWHCEUTXenduser_transactionEnduser transaction
    DBSQWH_QWHCEUWNenduser_workstationEnduser workstation
    DBSQWH_QWHCTCXTtrusted_contextTrusted context
    DBSQWH_QWHCROLErole_nameRole name
    DBSQWH_QWHCCTKNcorrelation_tokenCorrelation token
    DBSQWH_QWHDRQNMrequester_locationRequester location
    DBSQWH_QWHDSVNMserver_name_parameterSRVNAM parameter
    DBSQWH_QWHDPRIDproduct_id_parameterProduct ID parameter
    DBSQWH_QWHAMEMNdb2_member_nameDB2 member name
    DBSQWH_QWHADSGNdb2_group_nameDB2 group name
    DBSQWH_QWHUCPUcpu_time_ziip_and_cpCPU time ZIIP+CP
    DBSQWH_QWHUSEcpu_time_ziipCPU time ZIIP
    DBS002A_QXSELECTselectsNumber of selects
    DBS002A_QXINSRTinsertsNumber of inserts
    DBS002A_QXUPDTEupdatesNumber of updates
    DBS002A_QXDELETdeletesNumber of deletes
    DBS002A_QXDESCdescribesNumber of describes
    DBS002A_QXPREPpreparesNumber of describes
    DBS002A_QXOPENopensNumber of opens
    DBS002A_QXCLOSEclosesNumber of closes
    DBS002A_QXCRTABcreate_tableNumber of create table
    DBS002A_QXCRINXcreate_indexNumber of create index
    DBS002A_QXCTABScreate_tablespaceNumber of create tablespace
    DBS002A_QXCRSYNcreate_synonymNumber of create synonym
    DBS002A_QXCRDABcreate_databaseNumber of create database
    DBS002A_QXCRSTGcreate_storage_groupNumber of create storage group
    DBS002A_QXDEFVUcreate_viewNumber of create view
    DBS002A_QXDRPIXdrop_indexNumber of drop index
    DBS002A_QXDRPTAdrop_tableNumber of drop table
    DBS002A_QXDRPTSdrop_tablespaceNumber of drop tablespace
    DBS002A_QXDRPDBdrop_databaseNumber of drop database
    DBS002A_QXDRPSYdrop_synonymNumber of drop synonym
    DBS002A_QXDRPSTdrop_storage_groupNumber of drop storage group
    DBS002A_QXDRPVUdrop_viewNumber of drop view
    DBS002A_QXALTSTalter_storage_groupNumber of alter storage group
    DBS002A_QXFETCHfetchsNumber of fetchs
    DBS002A_QXALTTSalter_tablespaceNumber of alter tablespace
    DBS002A_QXALTTAalter_tableNumber of alter table
    DBS002A_QXALTIXalter_indexNumber of alter index
    DBS002A_QXCMTONcomment_onNumber of comment on
    DBS002A_QXLOCKlock_tableNumber of lock table
    DBS002A_QXGRANTnumber_of_ rename to number_of_grants in 4.1.0Number of grant
    DBS002A_QXREVOKnumber_of_revokeNumber of revoke
    DBS002A_QXINCRBincremental_binds_excluded_preparesNumber of incremental binds excluded prepares
    DBS002A_QXLABONlabel_onNumber of label on
    DBS002A_QXSETSQLset_current_sqlidNumber of set current SQLID
    DBS002A_QXCRALScreate_aliasNumber of create alias
    DBS002A_QXDRPALdrop_aliasNumber of drop alias
    DBS002A_QXMIAPtimes_rid_list_processing_usedNumber of times RID list processing used
    DBS002A_QXNSMIAPtimes_rid_list_was_not_usedNumber of times RID list was not used because no storage was available to hold the list of RIDs
    DBS002A_QXMRMIAPqxmrmiapNumber of times one or more RID list were not used because the number of RID exceeded one or more internal limits
    DBS002A_QXSETHVset_host_variable_statementsNumber of set host-variable statements we don't trace the contents of the special register
    DBS002A_QXALDABalter_databaseNumber of alter database
    DBS002A_QXDRPPKGdrop_package_statementsNumber of drop package statements
    DBS002A_QXDSCRTBdescribe_table_statementsNumber of describe table statements
    DBS002A_QXMAXDEGqxmaxdegMaximum degree of parallelism among the parallel groups to indicate the extent to which query parallelism applies
    DBS002A_QXTOTGRPtotal_parallel_groups_executedNumber of total number number of parallel groups executed
    DBS002A_QXDEGCURqxdegcurTotal number of parallel groups which fell back to sequential mode because the cursor may be used in UPDATE/DELETE
    DBS002A_QXDEGESAqxdegesaTotal number of parallel groups which fell back to sequential mode due to lack of ESA sort support
    DBS002A_QXDEGBUFqxdegbufTotal number of parallel groups that have a planned degree greater than one at run time, but fell back to sequential mode because of storage shortage or contention on the buffer pool
    DBS002A_QXREDGRPqxredgrpTotal number of parallel groups that have a planned degree greater than one at run time, but were processed to a parallel degree less than planned because of a storage shortage or contention on the buffer pool
    DBS002A_QXNORGRPqxnorgrpTotal number of parallel groups that have a planned degree greater than one at run time, and were executed to the same degree because of sufficient storage on the buffer pool.
    DBS002A_QXCON1connect_type1_statements_executedNumber of connect type 1 statements executed
    DBS002A_QXCON2connect_type2_statements_executedNumber of connect type 2 statements executed
    DBS002A_QXRELrelease_statements_executedNumber of release statements executed
    DBS002A_QXSETCONset_connection_statements_executedNumber of set connection statements executed
    DBS002A_QXSETCDGset_current_degree_statements_executedNumber of set current degree statements executed
    DBS002A_QXSETCRLset_current_rules_statementsNumber of set current rules statements
    DBS002A_QXCALLsql_call_statements_executedNumber of SQL call statements executed
    DBS002A_QXCALLABstored_procedure_abendedNumber of times a stored procedure abended
    DBS002A_QXCALLTOsql_call_statements_timed_outNumber of times an SQL call statement timed out
    DBS002A_QXCALLRJsql_call_statements_rejectedNumber of times an SQL call statement was rejected
    DBS002A_QXCOORNOqxcoornoTotal number of parallel groups executed on a single DB2 due to the coordinator subsystem parameter being set to NO. When the statement was bound, the coordinator subsystem parameter was set to YES
    DBS002A_QXISORRqxisorrTotal number of parallel groups executed on a single DB2 due to repeatable-read or read-stability isolation
    DBS002A_QXCRGTTcreate_global_temporary_tableNumber of create global temporary table
    DBS002A_QXXCBPNXqxxcbpnxTotal number of parallel groups that were intended to run across the data sharing group. This count is only incremented on the parallelism coordinator at run time
    DBS002A_QXXCSKIPqxxcskipNumber of times that the parallelism coordinator had to bypass a DB2 when distributing tasks because there was not enough buffer pool storage on one or more DB2 members
    DBS002A_QXALOCLassociate_locator_statements_executedNumber of associate locator statements
    DBS002A_QXALOCCallocate_cursor_statements_executedNumber of allocate cursor statements
    DBS002A_QXSTFNDqxstfndNumber of times a PREPARE request was satisfied by making a copy from the prepared statement cache
    DBS002A_QXSTNFNDqxstnfndNumber of times a PREPARE request was received but a matching statement was not found in the prepared statement cache. Cache search is only done for DML SQL and only if cache option is active
    DBS002A_QXSTIPRPqxstiprpNumber of times that an implicit prepare was performed because the KEEPDYNAMIC(YES) option was used and an OPEN, EXECUTE or DESCRIBE of a dynamic statement occurred after a COMMIT but DB2 no longer had a valid copy of the executable version of the prepared statement
    DBS002A_QXSTNPRPqxstnprpNumber of times that a prepare was avoided because KEEPDYNAMIC(YES) was used along with prepared statement caching and DB2 still had the application process copy of the executable version of the prepared statement
    DBS002A_QXSTDEXPqxstdexpNumber of times that an application process executable copy of a prepared statement was discarded due to the MAXKEEPD system limit being exceeded
    DBS002A_QXSTDINVqxstdinvNumber of times that a prepared statement was purged from the cache because a DROP, ALTER, or REVOKE statement was issued on a dependent object
    DBS002A_QXRNTABrename_tableNumber of rename table
    DBS002A_QXCTRIGcreate_triggerNumber of create trigger
    DBS002A_QXDRPTRdrop_triggerNumber of drop trigger
    DBS002A_QXSETPTHset_current_path_statementsNumber of set current path statements
    DBS002A_QXDRPFNdrop_user_defined_functionNumber of drop user defined function
    DBS002A_QXDRPPRdrop_procedureNumber of drop procedure
    DBS002A_QXCDISTcreate_distinct_type_statementsNumber of create distinct type statements
    DBS002A_QXDDISTdrop_distinct_type_statementsNumber of drop distinct type statements
    DBS002A_QXCRUDFcreate_function_statementsNumber of create function statements
    DBS002A_QXCRPROcreate_procedure_statementsNumber of create procedure statements
    DBS002A_QXHOLDLhold_locator_statementsNumber of hold locator statements
    DBS002A_QXFREELfree_locator_statementsNumber of free locator statements
    DBS002A_QXREPOP1qxrepop1Total number of parallel groups for which DB2 reformulated the parallel portion of the access path because the sysplex configuration was different from the sysplex configuration at bind time
    DBS002A_QXREPOP2qxrepop2Total number of parallel groups for which DB2 reformulated the paralllel portion of the access path because there was not enough buffer pool resource
    DBS002A_QXCRATBcreate_aux_table_statementsNumber of create AUX table statements
    DBS002A_QXSTLOBVmax_storage_used_for_lob_valuesMaximum storage used for LOB valuesmegabyte
    DBS002A_QXALUDFalter_funtion_statementsNumber of alter function statements
    DBS002A_QXALPROalter_procedure_statementsNumber of alter procedure statements
    DBS002A_QXROIMATdirect_row_access_successfulNumber of times that direct row access was successful
    DBS002A_QXROIIDXdirect_row_reverted_indexNumber of times an attempt to use direct row access reverted to using an index to locate a record
    DBS002A_QXROITSdirect_row_reverted_table_spaceNumber of times an attempt to use direct row access reverted to using a table space scan to locate a record
    DBS002A_QXSTTRGstatement_trigger_activatedNumber of times a statement trigger was activated
    DBS002A_QXROWTRGrow_trigger_activatedNumber of times a row trigger was activated
    DBS002A_QXTRGERRsqk_error_during_triggered_actionNumber of times an SQL error occured during execution of a triggered action
    DBS002A_QXCASCDPmax_level_nested_sql_cascadingMaximum level of nested SQL cascading
    DBS002A_QXCAUDuser_defined_function_executedNumber of user defined function executed
    DBS002A_QXCAUDABudf_abendedNumber of times a UDF abended
    DBS002A_QXCAUDTOudf_timed_outNumber of times a UDF timed out waiting to be scheduled
    DBS002A_QXCAUDRJudf_rejectedNumber of times a UDF was rejected
    DBS002A_QXSETCPRset_current_precision_statements_executedNumber of set current precision statements
    DBS002A_QXDCLGTTdeclare_global_temporary_table_stmtsNumber of declare global temporary table STMTS
    DBS002A_QXDEGDTTqxdegdttTotal number of parallel groups that are part of a query block using a UDF and executed on a single DB2 due to the existence of a Declared Temporary Table in the application process
    DBS002A_QXCRESEQcreate_sequencesNumber of create sequences
    DBS002A_QXALTSEQalter_sequencesNumber of alter sequences
    DBS002A_QXDROSEQdrop_sequencesNumber of drop sequences
    DBS002A_QXPRRESIqxprresiNumber of prepares for which use of an index/indexes were restricted because the index was in a pending state
    DBS002A_QXALTVWalter_viewNumber of alter view
    DBS002A_QXALTJRalter_jarNumber of alter jar
    DBS002A_QXMERGEmerge_statements_executedNumber of times merge statement was executed
    DBS002A_QXTRTBLtruncate_table_executedNumber of times truncate table was executed
    DBS002A_QXCRROLcreate_roleNumber of create role
    DBS002A_QXDRPROLdrop_roleNumber of drop role
    DBS002A_QXCRCTXcreate_trusted_contextNumber of create trusted context
    DBS002A_QXALTCTXalter_trusted_contextNumber of alter trusted context
    DBS002A_QXDRPCTXdrop_trusted_contextNumber of drop trusted context
    DBS002A_QXRNIXrename_indexNumber of rename index
    DBS002A_QXSTXMLVmax_storage_for_xmlNumber of max storage used for XML values
    DBS002A_QXRWSFETCHDrow_fetchedNumber of rows fetched
    DBS002A_QXRWSINSRTDrow_insertedNumber of rows inserted
    DBS002A_QXRWSUPDTDrow_updatedNumber of rows updated
    DBS002A_QXRWSDELETDrow_deletedNumber of rows deleted
    DBS002A_QXSTCWLPdb2_parsed_dynamic_statementsNumber of times DB2 parsed dynamic statements because concentrate statements with literals behavior was in effect for the prepare of the statement for the dynamic statement cache
    DBS002A_QXSTCWLRdb2_relacedNumber of times DB2 replaced at least one literal in a dynamic statement because concentrate statements with literals was in effect for the prepare of the statement for dynamic statement cache
    DBS002A_QXSTCWLMdb2_found_matching_reusableNumber of times DB2 found a matching reusable copy of a dynamic statement in statement cache during prepare of a statement that had literals replaced because of concentrate statements with literals
    DBS002A_QXSTCWLDdb2_created_duplicate_stmtNumber of times DB2 created a duplicate stmt instance in the the statement cache for a dynamic statement that had literals replaced by concentrate statements with literals behavior and the duplicate stmt instance was needed because a cache match failed solely due to literal reusability criteria
    DBS002A_QXWFRIDSqxwfridsNumber of times a RID list was overflown to a work file because no RIDPOOL storage was available to hold the list of RIDs
    DBS002A_QXWFRIDTqxwfridtNumber of times a RID list was overflown to a work file because the number of RIDs exceeded one or more internal limits
    DBS002A_QXHJINCSqxhjincsNumber of times a RID list append for a Hybrid join was interrupted because no RIDPOOL storage was available to hold the list of RIDs
    DBS002A_QXHJINCTqxhjinctNumber of times a RID list append for a Hybrid join was interrupted because the number of RIDs exceeded one or more internal limits
    DBS002A_QXRSMIAPqxrsmiapNumber of times a RID list retrieval for multiple index access was skipped because it was not necessary due to DB2 being able to predetermine the outcome of index AND or OR
    DBS002A_QXCREMPcreate_mask_or_permissionNumber of create mask or permission
    DBS002A_QXDRPMPdrop_mask_or_permissionNumber of drop mask or permission
    DBS002A_QXALTMPalter_mask_or_permissionNumber of alter mask or permission
    DBS002A_QXCRTSVcreate_variableNumber of create variable
    DBS002A_QXDRPSVdrop_variableNumber of drop variable
    DBS002A_QXDEGATqxdegatTotal number of parallel groups that fell to sequential mode
    DBS002A_QXSTARRAY_EXPANSIONSarray_expand_beyond_32kNumber of times an array var is expanded
    DBS002A_QXSTOREDGRPparallel_group_degree_reducedNumber of parallel group reduced
    DBS002A_QXSTODGNGRPparallel_group_degeneratedNumber of parallel group degenerated
    DBS002A_QXMAXESTIDGmax_parallel_group_estimated_degreeMaximum parallel group estimated degree
    DBS002A_QXMAXPLANDGmax_parallel_group_planned_degreeMaximum parallel group planned degree
    DBS002A_QXSISTORsparse_index_disabledNumber of times that sparse index was disabled
    DBS002A_QXSIWFsparse_index_built_qtstNumber of times sparse index built workflow for probing

    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.