啟用監視器開關 (必要前置)
db2 get monitor switches
db2 "UPDATE MONITOR SWITCHES USING LOCK ON"
db2 "UPDATE MONITOR SWITCHES USING STATEMENT ON"
db2 "UPDATE MONITOR SWITCHES USING TABLE ON"
db2 "UPDATE MONITOR SWITCHES USING BUFFERPOOL ON"
db2 "UPDATE MONITOR SWITCHES USING SORT ON"
db2 "UPDATE MONITOR SWITCHES USING UOW ON"
db2 "UPDATE MONITOR SWITCHES USING TIMESTAMP ON"
連線目標資料庫
db2 "CONNECT TO USER USING "
核心快照指令 (輸出導檔建議加 -v 與 > file)
| 快照類型 | 指令 | 關鍵用途 |
| 鎖 | db2 -v GET SNAPSHOT FOR LOCKS ON > lock.out | 死結分析、鎖等待鏈、鎖升級偵測 |
| 動態 SQL | db2 -v GET SNAPSHOT FOR DYNAMIC SQL ON > dynamicsql.out | Top 消耗 SQL、執行計劃、參數標記 |
| 表 | db2 -v GET SNAPSHOT FOR TABLES ON > tables.out | 表掃描、插入/刪除/更新計數、溢位記錄 |
| 應用程式 | db2 -v GET SNAPSHOT FOR APPLICATIONS ON > app.out | 連線狀態、執行 SQL、等待事件、代理資訊 |
| 資料庫 | db2 -v GET SNAPSHOT FOR DATABASE ON | 緩衝區命中率、日誌/排序/鎖統計、容器 I/O |
| 完整 (所有) | db2 -v GET SNAPSHOT FOR ALL ON > snapshot.out | 全域健康檢查、效能基線 |
進階替代方案 (V9.7+)
- 表函數:
MON_GET_DATABASE, MON_GET_TABLE, MON_GET_APPL, MON_GET_LOCKS 等,支援 SQL 查詢、彙總、歷史趨勢
- 事件監控器:持久化記錄,適合事後根因分析
快照輸出關鍵指標速查
- 緩衝區命中率 > 95% (OLTP)
- 鎖等待時間 < 10ms 平均
- 排序溢位比例 < 5%
- 動態 SQL 編譯率 < 10% (高則需包快取/靜態 SQL)