DB2 提供一組以 SNAPSHOT_ 為前綴的表函數,讓使用者能以 SQL 方式即時擷取資料庫管理器、資料庫、應用程式、鎖、表空間、緩衝池等層面的效能指標。只需查詢系統目錄即可列出所有可用函數:
SELECT funcname FROM syscat.functions
WHERE funcschema = 'SYSPROC' AND funcname LIKE 'SNAPSHOT_%' WITH UR;
| 函數名稱 | 監控範圍 | 關鍵資訊 |
|---|---|---|
| SNAPSHOT_DBM | 資料庫管理器 | 實例級配置、記憶體、代理程式狀態 |
| SNAPSHOT_DATABASE | 資料庫 | 連接數、緩衝池命中率、日誌活動、儲存空間(需至少一連接) |
| SNAPSHOT_APPL | 應用程式 | 鎖等待、累積計數器、狀態、最近 SQL(需陳述式監視開關) |
| SNAPSHOT_APPL_INFO | 應用程式識別 | 連接來源、用戶端資訊、應用程式名稱 |
| SNAPSHOT_LOCKWAIT | 鎖等待詳情 | 等待應用、持有鎖應用、鎖模式、等待物件 |
| SNAPSHOT_STATEMENT | SQL 陳述式 | 最近執行 SQL 文本、執行統計(需陳述式監視開關) |
| SNAPSHOT_TABLE | 表活動 | 讀寫行數、掃描類型、溢出存取(需表監視開關) |
| SNAPSHOT_LOCK | 鎖狀態 | 資料庫/應用層級鎖清單、鎖模式、物件類型(需鎖監視開關) |
| SNAPSHOT_TBS | 表空間 | I/O 計數器、使用率、自動儲存路徑(需緩衝池監視開關) |
| SNAPSHOT_BP | 緩衝池 | 邏輯/物理讀寫、命中率、非同步 I/O(需緩衝池監視開關) |
| SNAPSHOT_DYN_SQL | 動態 SQL 快取 | 快取內陳述式文本、執行次數、平均耗時 |
MON_GET_* 介面使用,獲取更細緻的度量指標。DFT_MON_* 參數),避免額外負擔。DB2 快照函數提供標準化、SQL 化的監控介面,涵蓋從實例到 SQL 陳述式的全維度可觀測性,是 DBA 進行效能調校、故障診斷與容量規劃的基石工具。