連線超限錯誤診斷
典型錯誤徵兆 (db2diag.log)
2008-01-15-14.30.13.090289-360 I12983210A1195 LEVEL: Info
PID: 762076 TID: 772 PROC: db2acd
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
MESSAGE: ZRC=0x8136001C=-2127167460=SQLZ_RC_NO_CONNECTION
" No connection "
CCI Error:
即時檢查當前連線數指令
DB2 LIST APPLICATIONS
輸出解讀關鍵:識別內部服務連線
| Application Name | 類型 | 是否計入外部連線 | 說明 |
| db2stmm | 內部服務 | ❌ 否 | 記憶體自動調節代理 (STMM) |
| db2taskd | 內部服務 | ❌ 否 | 後台任務分派代理 |
| java / db2jcc | 外部應用 | ✅ 是 | JDBC/Java 應用連線 |
| db2bp | 外部工具 | ✅ 是 | CLP 命令視窗連線 |
關鍵判斷:V9.1/V9.5 環境下,db2stmm 與 db2taskd 為系統內部服務,**不應計入外部連線授權額度**。實際外部連線數 = 總連線數 - 內部服務連線數。
連線數監控與告警建議
-- 完整連線資訊含授權 ID、應用程式控制代碼、應用程式 ID
DB2 LIST APPLICATIONS SHOW DETAIL
-- 即時連線數統計
DB2 LIST APPLICATIONS | FIND /C /V ""
優化策略矩陣
| 問題類型 | 診斷指標 | 解決方案 |
| 連線授權不足 | 外部連線數接近 MAX_CONNECTIONS | 調大授權 / 啟用濃縮器 / 應用端連線池優化 |
| 代理耗盡 | 活躍代理數達 MAX_COORDAGENTS | 調大 MAX_COORDAGENTS / 啟用濃縮器 / 縮短交易時間 |
| 內部服務異常 | db2stmm/db2taskd 狀態異常 | 檢查 STMM 配置 / 重啟 Instance 恢復內部服務 |
最佳實務建議
- 建立基準:記錄正常負載下的連線數/代理數分佈
- 設定告警:外部連線數 > 80% MAX_CONNECTIONS 觸發預警
- 定期審視:
DB2 GET DBM CFG SHOW DETAIL 確認 AUTOMATIC 參數實際生效值
- 應用端配合:連線池大小上限 < DB2 MAX_CONNECTIONS,避免單一應用耗盡資源