1.花費時間排行前十的SQL語句
SELECT
TOTAL_ACT_TIME/NUM_EXEC_WITH_METRICS AS AVG_EXE_TIME,
SUBSTR(STMT_TEXT,1,40) AS SQL
FROM
TABLE(MON_GET_PKG_CACHE_STMT ( NULL, NULL, NULL, -2))
WHERE
NUM_EXEC_WITH_METRICS>=1
ORDER BY
1 desc fetch FIRST 10 rows only
其中MON_GET_PKG_CACHE_STMT是在SYSPROC下的函數內
2.讀取的數據和搜索數據的佔比(可以理解爲返回一條數據需要查詢的數據條數,越小越好)
SELECT ROWS_READ_PER_ROWS_RETURNED FROM SYSIBMADM.MON_DB_SUMMARY
3.總體緩存命中率
SELECT TOTAL_BP_HIT_RATIO_PERCENT FROM SYSIBMADM.MON_DB_SUMMARY
4.每個緩衝池數據、索引命中率和預取率
SELECT
SUBSTR(BP_NAME,1,18) AS BP_NAME,
DATA_HIT_RATIO_PERCENT,
INDEX_HIT_RATIO_PERCENT,
PREFETCH_RATIO_PERCENT
FROM
SYSIBMADM.MON_BP_UTILIZATION
5.每一個數據庫空間緩衝池和物理內存IOPS
SELECT
SUBSTR(TBSP_NAME,1,20) AS TBSP_NAME,
POOL_READ_TIME/
CASE
WHEN POOL_DATA_P_READS+POOL_INDEX_P_READS+POOL_TEMP_DATA_P_READS+POOL_TEMP_INDEX_P_READS>0
THEN POOL_DATA_P_READS+POOL_INDEX_P_READS+POOL_TEMP_DATA_P_READS+POOL_TEMP_INDEX_P_READS
ELSE 1
END AS AVG_BP_READ_TIME,
POOL_WRITE_TIME/
CASE
WHEN POOL_DATA_WRITES+POOL_INDEX_WRITES>0
THEN POOL_DATA_WRITES+POOL_INDEX_WRITES
ELSE 1
END AS AVG_BP_WRITE_TIME,
DIRECT_READ_TIME /
CASE
WHEN DIRECT_READS/8 > 0
THEN DIRECT_READS/8
ELSE 1
END AS AVG_DIRECT_READ_TIME,
DIRECT_WRITE_TIME /
CASE
WHEN DIRECT_WRITES/8 > 0
THEN DIRECT_WRITES/8
ELSE 1
END AS AVG_DIRECT_WRITE_TIME
FROM
TABLE(MON_GET_TABLESPACE(NULL,NULL))
6.日誌緩存滿的次數以及平均寫入時間
SELECT
NUM_LOG_BUFFER_FULL,
LOG_WRITE_TIME /
CASE
WHEN LOG_WRITES > 0
THEN LOG_WRITES
ELSE 1
END AS AVG_LOG_WRITE_TIME
FROM
TABLE(MON_GET_TRANSACTION_LOG(-2))
7.鎖等待次數以及平均等待時間
SELECT
LOCK_WAITS,
LOCK_WAIT_TIME/LOCK_WAITS AS AVG_LOCK_WAIT_TIME
FROM
TABLE(MON_GET_DATABASE(-2))
8.鎖超時,鎖提升,死鎖發生次數
SELECT
LOCK_TIMEOUTS,
LOCK_ESCALS_MAXLOCKS,
LOCK_ESCALS_LOCKLIST,
DEADLOCKS
FROM
TABLE(MON_GET_DATABASE(-2))
9.總排序次數和排序溢出率
SELECT
(SORT_OVERFLOWS * 100) / TOTAL_SORTS AS SORT_OVERFLOW_RATIO,
TOTAL_SORTS
FROM
TABLE(MON_GET_DATABASE(-2))
10.包緩存命中率
SELECT
(PKG_CACHE_LOOKUPS-PKG_CACHE_INSERTS)*100 / PKG_CACHE_LOOKUPS
FROM
TABLE(MON_GET_DATABASE(-2))
11.當前會話數
select * from SYSIBMADM.APPLICATIONS
12.數據庫啓動時間
SELECT
*
FROM
SYSIBMADM.SNAPDBM
13.數據庫創建時間
select * from sysibm.sysversions
14.緩衝池效率
SELECT
BP_NAME,
AVG_WRITE_TIME,
SYNC_WRITES_PERCENT,
AVG_SYNC_WRITE_TIME,
AVG_ASYNC_WRITE_TIME
FROM
SYSIBMADM.MON_BP_UTILIZATION
15.各種耗時元素信息 毫秒
SELECT
SUM(TOTAL_WAIT_TIME) AS WAIT,
SUM(TOTAL_COMPILE_PROC_TIME) AS COMPILE,
SUM(TOTAL_IMPLICIT_COMPILE_PROC_TIME) AS IMP_COMPILE,
SUM(TOTAL_SECTION_PROC_TIME) AS SECTION,
SUM(total_routine_user_code_proc_time) AS ROUTINE_USER_CODE,
SUM(TOTAL_COMMIT_PROC_TIME) AS COMMIT,
SUM(TOTAL_REORG_PROC_TIME) AS REORG,
SUM(TOTAL_RUNSTATS_PROC_TIME) AS RUNSTATS,
SUM(TOTAL_ROLLBACK_PROC_TIME) AS ROLLBACK,
SUM(TOTAL_LOAD_PROC_TIME) AS LOAD,
SUM(total_connect_request_proc_time) AS CONNECT_REQUEST
FROM
TABLE(MON_GET_SERVICE_SUBCLASS('SYSDEFAULTUSERCLASS','SYSDEFAULTSUBCLASS',NULL))
16.日誌空間相關信息
SELECT
1.0*TOTAL_LOG_AVAILABLE/1024/1024 AS total_log_available_mb,
1.0*TOTAL_LOG_USED/1024/1024 AS total_log_used_mb,
1.0*SEC_LOG_USED_TOP/1024/1024 AS sec_log_used_top_mb,
1.0*TOT_LOG_USED_TOP/1024/1024 AS total_log_used_top,
1.0*SEC_LOGS_ALLOCATED/1024/1024 AS sec_logs_allocated_mb,
APPL_ID_OLDEST_XACT
FROM
TABLE(SNAP_GET_DB(CAST (NULL AS VARCHAR(128)), -2))