Monitoring DB2 statement level statistics
In DB2 9.7 onwards, the following is very useful to see what is happening at each statement.
create or replace view stmtsnap_v as
select
MEMBER,
SECTION_TYPE,
INSERT_TIMESTAMP,
EXECUTABLE_ID,
PACKAGE_SCHEMA,
PACKAGE_NAME,
PACKAGE_VERSION_ID,
SECTION_NUMBER,
EFFECTIVE_ISOLATION,
NUM_EXECUTIONS,
NUM_EXEC_WITH_METRICS,
PREP_TIME,
TOTAL_ACT_TIME,
TOTAL_ACT_WAIT_TIME,
TOTAL_CPU_TIME,
POOL_READ_TIME,
POOL_WRITE_TIME,
DIRECT_READ_TIME,
DIRECT_WRITE_TIME,
LOCK_WAIT_TIME,
TOTAL_SECTION_SORT_TIME,
TOTAL_SECTION_SORT_PROC_TIME,
TOTAL_SECTION_SORTS,
LOCK_ESCALS,
LOCK_WAITS,
ROWS_MODIFIED,
ROWS_READ,
ROWS_RETURNED,
DIRECT_READS,
DIRECT_READ_REQS,
DIRECT_WRITES,
DIRECT_WRITE_REQS,
POOL_DATA_L_READS,
POOL_TEMP_DATA_L_READS,
POOL_XDA_L_READS,
POOL_TEMP_XDA_L_READS,
POOL_INDEX_L_READS,
POOL_TEMP_INDEX_L_READS,
POOL_DATA_P_READS,
POOL_TEMP_DATA_P_READS,
POOL_XDA_P_READS,
POOL_TEMP_XDA_P_READS,
POOL_INDEX_P_READS,
POOL_TEMP_INDEX_P_READS,
POOL_DATA_WRITES,
POOL_XDA_WRITES,
POOL_INDEX_WRITES,
TOTAL_SORTS,
POST_THRESHOLD_SORTS,
POST_SHRTHRESHOLD_SORTS,
SORT_OVERFLOWS,
WLM_QUEUE_TIME_TOTAL,
WLM_QUEUE_ASSIGNMENTS_TOTAL,
DEADLOCKS,
FCM_RECV_VOLUME,
FCM_RECVS_TOTAL,
FCM_SEND_VOLUME,
FCM_SENDS_TOTAL,
FCM_RECV_WAIT_TIME,
FCM_SEND_WAIT_TIME,
LOCK_TIMEOUTS,
LOG_BUFFER_WAIT_TIME,
NUM_LOG_BUFFER_FULL,
LOG_DISK_WAIT_TIME,
LOG_DISK_WAITS_TOTAL,
LAST_METRICS_UPDATE,
NUM_COORD_EXEC,
NUM_COORD_EXEC_WITH_METRICS,
VALID,
TOTAL_ROUTINE_TIME,
TOTAL_ROUTINE_INVOCATIONS,
ROUTINE_ID,
STMT_TYPE_ID,
QUERY_COST_ESTIMATE,
STMT_PKG_CACHE_ID,
COORD_STMT_EXEC_TIME,
STMT_EXEC_TIME,
TOTAL_SECTION_TIME,
TOTAL_SECTION_PROC_TIME,
TOTAL_ROUTINE_NON_SECT_TIME,
rtrim(substr(STMT_TEXT,1,2000)) as stmt_text
from TABLE (sysproc.MON_GET_PKG_CACHE_STMT('d', null, null, -1))
create or replace view stmtsnap_v as
select
MEMBER,
SECTION_TYPE,
INSERT_TIMESTAMP,
EXECUTABLE_ID,
PACKAGE_SCHEMA,
PACKAGE_NAME,
PACKAGE_VERSION_ID,
SECTION_NUMBER,
EFFECTIVE_ISOLATION,
NUM_EXECUTIONS,
NUM_EXEC_WITH_METRICS,
PREP_TIME,
TOTAL_ACT_TIME,
TOTAL_ACT_WAIT_TIME,
TOTAL_CPU_TIME,
POOL_READ_TIME,
POOL_WRITE_TIME,
DIRECT_READ_TIME,
DIRECT_WRITE_TIME,
LOCK_WAIT_TIME,
TOTAL_SECTION_SORT_TIME,
TOTAL_SECTION_SORT_PROC_TIME,
TOTAL_SECTION_SORTS,
LOCK_ESCALS,
LOCK_WAITS,
ROWS_MODIFIED,
ROWS_READ,
ROWS_RETURNED,
DIRECT_READS,
DIRECT_READ_REQS,
DIRECT_WRITES,
DIRECT_WRITE_REQS,
POOL_DATA_L_READS,
POOL_TEMP_DATA_L_READS,
POOL_XDA_L_READS,
POOL_TEMP_XDA_L_READS,
POOL_INDEX_L_READS,
POOL_TEMP_INDEX_L_READS,
POOL_DATA_P_READS,
POOL_TEMP_DATA_P_READS,
POOL_XDA_P_READS,
POOL_TEMP_XDA_P_READS,
POOL_INDEX_P_READS,
POOL_TEMP_INDEX_P_READS,
POOL_DATA_WRITES,
POOL_XDA_WRITES,
POOL_INDEX_WRITES,
TOTAL_SORTS,
POST_THRESHOLD_SORTS,
POST_SHRTHRESHOLD_SORTS,
SORT_OVERFLOWS,
WLM_QUEUE_TIME_TOTAL,
WLM_QUEUE_ASSIGNMENTS_TOTAL,
DEADLOCKS,
FCM_RECV_VOLUME,
FCM_RECVS_TOTAL,
FCM_SEND_VOLUME,
FCM_SENDS_TOTAL,
FCM_RECV_WAIT_TIME,
FCM_SEND_WAIT_TIME,
LOCK_TIMEOUTS,
LOG_BUFFER_WAIT_TIME,
NUM_LOG_BUFFER_FULL,
LOG_DISK_WAIT_TIME,
LOG_DISK_WAITS_TOTAL,
LAST_METRICS_UPDATE,
NUM_COORD_EXEC,
NUM_COORD_EXEC_WITH_METRICS,
VALID,
TOTAL_ROUTINE_TIME,
TOTAL_ROUTINE_INVOCATIONS,
ROUTINE_ID,
STMT_TYPE_ID,
QUERY_COST_ESTIMATE,
STMT_PKG_CACHE_ID,
COORD_STMT_EXEC_TIME,
STMT_EXEC_TIME,
TOTAL_SECTION_TIME,
TOTAL_SECTION_PROC_TIME,
TOTAL_ROUTINE_NON_SECT_TIME,
rtrim(substr(STMT_TEXT,1,2000)) as stmt_text
from TABLE (sysproc.MON_GET_PKG_CACHE_STMT('d', null, null, -1))

0 Comments:
Post a Comment
<< Home