Skip to main contentIBM dmctop Wiki

IO / Table Spaces

Purpose

Table spaces view shows the performance of I/O operations for each table space including hit ratios and number of pages read and written for all buffer pools and for various data types and database usage.

Screenshot

image

Metric shown

Gauge


Data hit%

= DATA_HIT_RATIO_NUMER / DATA_HIT_RATIO_DENOM

Source:

DATA_HIT_RATIO_DENOM = MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_DATA_L_READS + POOL_TEMP_DATA_L_READS)


Idx hit%

= IDX_HIT_RATIO_NUMER / IDX_HIT_RATIO_NUMER

Source:

IDX_HIT_RATIO_DENOM = MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_INDEX_L_READS + POOL_TEMP_INDEX_L_READS)


Col hit%

Column-organized page hit ratio. Formulas for calculating buffer pool hit ratios

= COL_HIT_NUMERATOR / COL_HIT_DENOMINATOR

Source:

COL_HIT_DENOMINATOR = MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_COL_L_READS + POOL_TEMP_COL_L_READS)


Temp hit%

Page hit ratio in temporary table spaces.

= TEMP_HIT_RATIO_NUMER / TEMP_HIT_RATIO_DENOM

Source:


XML hit%

XML storage object (XDA) page hit ratio. Formulas for calculating buffer pool hit ratios

= XDA_HIT_NUMERATOR / XDA_HIT_DENOMINATOR

Source:

XDA_HIT_DENOMINATOR = MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_XDA_L_READS + POOL_TEMP_XDA_L_READS)


All hit ratio%

= ALL_HIT_RATIO_NUMER / POOL_L_READS

Source:


Avg hit ratio%

= AVG_HIT_RATIO_NUMER / AVG_HIT_RATIO_DENOM

Source:

AVG_HIT_RATIO_DENOM = 1

Grid


IO type

The ratio of different type of page read and write.

= <IO_TYPE_R / IO_TOTAL>r | <IO_TYPE_W / IO_TOTAL >w | <IO_TYPE_D / IO_TOTAL >d | <IO_TYPE_I / IO_TOTAL >i | <IO_TYPE_T / IO_TOTAL >t IO_TOTAL = IO_TYPE_R + IO_TYPE_W + IO_TYPE_D + IO_TYPE_I + IO_TYPE_T

Source:

IO_TYPE_D = MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_DATA_L_READS)

IO_TYPE_I = MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_INDEX_L_READS)


DB Size/Capacity

The percentage of database usage.

= <DB_SIZE> / <DB_CAPACITY>

Source:


Abnormal

The number of abnormal tablespace.

SELECT COUNT(*) AS ABNORMAL_TOTAL
FROM TABLE(MON_GET_TABLESPACE(NULL,#MEMBER#))
WHERE TBSP_STATE <> 'NORMAL'

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).TBSP_STATE


Temp space used

The total space page size that are currently used in table spaces.

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(TBSP_USED_PAGES * TBSP_PAGE_SIZE)


Logical reads

The number of pages read from the local buffer pool (logical).


Physical reads

The number of pages read in from the table space containers (physical).


Write

The total number of write operations.

Table


Tablespace name

The name of a table space.

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).TBSP_NAME


Logical reads

The number of pages read from the local buffer pool (logical).


Physical reads

The number of pages read in from the table space containers (physical).


Hit ratio%

= ALL_HIT_RATIO_NUMER / POOL_L_READS

Source:


Async reads%

The percentage of pages which have been asynchronously read from the table space containers (physical).

= ASYNC_READS / POOL_L_READS

Source:


Pages aread

The average number of asynchronous read per request.

= ASYNC_READS / ASYNC_READ_REQ

Source:


Writes

The total number of write operations.


Async reads

The total number of pages which have been asynchronously read from the table space containers (physical).


Async writes

The number of times a page was physically written to disk by either an asynchronous page cleaner, or a prefetcher.


Direct writes

The number of write operations that do not use the buffer pool.

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(DIRECT_WRITES)


Data writes

The number of times a buffer pool data page was physically written to disk.

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_DATA_WRITES)


Index writes

The number of times a buffer pool index page was physically written to disk.

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_INDEX_WRITES)


Avg_reads dir_reqs

The average number of read operations that do not use the buffer pool per request.

= DIRECT_READS / DIRECT_READ_REQS

Source:

DIRECT_READS = MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(DIRECT_READS)

DIRECT_READ_REQS = MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(DIRECT_READ_REQS)


Avg rdtime

The average amount of time spent for read operations.

= READ_TIME_MS / TOTAL_READS

Source:

READ_TIME_MS = MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_READ_TIME + DIRECT_READ_TIME)


Avg wrtime

The average amount of time spent for write operations.

= WRITE_TIME_MS / TOTAL_WRITES

Source:

WRITE_TIME_MS = MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_WRITE_TIME + DIRECT_WRITE_TIME)


Tbsp type

Table space content type. A text identifier based on defines in sqlmon.h, and is one of:

  • ANY
  • LARGE
  • SYSTEMP
  • USRTEMP

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).TBSP_CONTENT_TYPE)


# of dbp

The number of buffer pool that is being monitored.

SELECT COUNT(*) AS NUM_DBP
FROM TABLE(
MON_GET_TABLESPACE(
NULL,
#MEMBER#)) AS MTSP
LEFT OUTER JOIN SYSCAT.BUFFERPOOLS AS BP ON MTSP.TBSP_CUR_POOL_ID = BP.BUFFERPOOLID
LEFT OUTER JOIN TABLE(
MON_GET_BUFFERPOOL(
NULL,

Avg prefsize

The average size of pages which have been asynchronously read from the table space containers (physical) per request.

= READ_BYTES / ASYNC_READ_REQ

Source:


I/o skew

The I/O skew from average.

= 1 - AVG(POOL_L_READS)/MAX(POOL_L_READS)

Source:


Tbspace status

The current state of a table space.

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).TBSP_STATE


Tbspace type

Table space type. A text identifier based on defines in sqlutil.h, and is one of:

  • DMS
  • SMS

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).TBSP_TYPE


Fsc on

Indicate whether file system caching is intended for a table space.

If MAX(FS_CACHING) = 0, then ‘YES’, else ‘NO’

Source:

FS_CACHING = MON_GET_TABLESPACE(NULL,#MEMBER#).FS_CACHING


File closed

The total number of database files closed.

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(FILES_CLOSED)


Victim buffers

The number of times an agent did not have a preselected victim buffer available.

Source: MON_GET_BUFFERPOOL(NULL, #MEMBER#).SUM(POOL_NO_VICTIM_BUFFER)


Unread prefpages

The number of pages that the prefetcher read into the bufferpool that were never used.

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(UNREAD_PREFETCH_PAGES)


Xda l_reads

The number of pages for XML storage objects (XDAs) read from the buffer pool (logical).


Xda p_reads

The number of pages for XML storage objects (XDAs) which have read from the table space containers (physical).


Xda l_writes

The number of times a buffer pool data page for an XML storage object (XDA) was physically written to disk.

Source: MON_GET_TABLESPACE(NULL,#MEMBER#).SUM(POOL_XDA_WRITES)


Prefetch size

The total page size the prefetcher gets from the disk at a time.


Io

The total number of IO operations.