DB2 UDB V8.2 引入 db2pd,功能對標 Informix onstat:無需啟用監控開關、零效能衝擊、20+ 選項涵蓋事務/表空間/表統計/動態 SQL/配置/記憶體/鎖/重組/日誌。支援單次多選項、輸出導檔、定時重複採樣,適用故障診斷、效能調優、應用開發驗證。
SYSADM + 實例擁有者 (Linux/UNIX)db2pd -interactive 或直接 db2pd 進入 db2pd> 提示符,輸入選項,quit/q 退出db2pd <options> 直接輸出DB2PDOPT 預設選項-repeat <interval> <count> 定時採樣,-file=<filename> 導出,可組合


| 場景 | 指令範例 | 關鍵輸出 |
|---|---|---|
| DB2 版本與 OS 資訊 | db2pd -version -osinfo | 版本號、建構等級、OS 核心/架構 |
| 代理/連接狀態 | db2pd -agents | 應用句柄、狀態、執行 SQL、等待事件 |
| 記憶體池使用 | db2pd -mempools -repeat 2 5 | 每 2 秒採樣 5 次,觀察記憶體增長趨勢 |
| 鎖等待/死鎖分析 | db2pd -locks wait -file=locks.txt | 鎖模式、持有者/請求者、等待時間、表/行標識 |
| 表重組進度監控 | db2pd -db sample -reorg -file=reorg.txt | 階段、完成度、已處理行數、預估剩餘時間 |
| 動態 SQL 快照 | db2pd -db sample -dynamic | 語句文本、執行次數、平均/總耗時、訪問計劃 ID |
| 表空間/容器狀態 | db2pd -db sample -tablespaces | 類型、頁面大小、狀態、使用率、容器路徑 |
| 資料庫配置參數 | db2pd -db sample -dbcfg | 參數名、當前值、延遲值、自動/手動 |
| 交易日誌狀態 | db2pd -db sample -logs | 當前活躍日誌、封存狀態、可用空間 |
| Bufferpool 命中率 | db2pd -db sample -bufferpools | 邏輯/物理讀寫、命中率、非同步 I/O |
| 排序/雜湊記憶體 | db2pd -db sample -sort | 活躍排序、溢寫臨時表、記憶體消耗 |
db2pd -version -osinfo

db2pd -locks wait -file=lock.txt -repeat 10 6
每 10 秒採樣 6 次,lock.txt 累積記錄,事後分析鎖爭用模式。

db2pd -db sample -reorg -file=reorg.txt

輸出含:Phase (建索引/掃表/壓縮)、Completion 百分比、Rows Processed、Start Time,長跑 REORG 可視化利器。
| 维度 | db2pd | GET SNAPSHOT / SNAP Functions | Event Monitors |
|---|---|---|---|
| 效能衝擊 | 極低 (直接讀共享記憶體) | 中 (需監控開關) | 高 (寫事件檔/管道) |
| 即時性 | 亞秒級 | 秒級 | 事件驅動 |
| 歷史趨勢 | -repeat 參數自製 | 定時排程收集 | 原生支援 |
| 資訊廣度 | 極廣 (含內部結構) | 標準監控指標 | 特定事件類型 |
| 權限需求 | SYSADM | MONITOR 權限 | 創建權限 |
-repeat 建立正常畫像-agents -locks wait -dynamic 三板斧定性-reorg -logs -bufferpools 持續採樣-file 輸出 → 日誌分析平台 (ELK/Splunk) 告警-transaction、-statisticscache 等選項,升級後查閱最新語法db2pd 以「零侵入、全視角、可腳本化」重新定義 DB2 即時監控。掌握其核心選項組合與輸出解讀,將故障排查從「盲人摸象」轉為「CT 掃描級」精準定位。