| AE 名稱 (慣例) | 用途 | 關鍵特徵 | 典型存儲過程 |
| DSNWLM_GENERAL | 通用、低優先級、非關鍵 | 共享 TCB 池、標準優先級 | 工具類、報表類 |
| DSNWLM_PERF | 高性能、低延遲、關鍵業務 | 專用 TCB、高優先級、大存儲 | 核心交易、實時決策 |
| DSNWLM_JAVA | Java 存儲過程 (JDBC/SQLJ) | JVM 參數調優、Heap 大小、GC 策略 | Java SP、外部 JAR |
| DSNWLM_REXX | REXX 存儲過程 | REXX 解釋器環境 | 老舊遷移、腳本封裝 |
| DSNWLM_DEBUG | 調試環境 | 啟用 Debug Tool、大存儲、長超時 | 開發/測試專用 |
| DSNWLM_UTIL | 系統工具類 (REORG, RUNSTATS, BACKUP...) | 長時間運行、高資源消耗 | ADMIN_* 系列、DSNACCOX 等 |
安裝面板 DSNTIPX:存儲過程核心參數配置
DSNTIPX INSTALL DB2 - ROUTINE PARAMETERS
===>
1 WLM PROC NAME ===> DSN1WLM WLM-established stored procedure JCL PROC
2 NUMBER OF TCBS ===> 8 Number of concurrent TCBs (1-100)
3 MAX ABEND COUNT ===> 0 Allowable ABENDs for a procedure (0-255)
4 TIMEOUT VALUE ===> 180 Seconds to wait before SQL CALL fails (5-1800,NOLIMIT)
5 WLM ENVIRONMENT ===> DEFAULT Default WLM env name
6 MAX OPEN CURSORS ===> 500 Maximum open cursors per thread
7 MAX STORED PROCS ===> 2000 Maximum active stored procs per thread
關鍵參數調優指南
NUMBER OF TCBS:每個 AE 地址空間最大並發 TCB 數。高並發 AE 可調大 (如 50-100),受限於 MAX USERS 系統參數。
TIMEOUT VALUE:防止調用端無限等待。核心交易建議 30-60 秒;批量/分析類可設 NOLIMIT。
MAX OPEN CURSORS:防止游標洩漏耗盡資源。Java SP 需更大 (1000+)。
MAX STORED PROCS:單線程最大活躍 SP 數,防止遞歸/鏈式調用失控。
前置檢查:PTF/APAR 必裝清單
DB2 9 存儲過程功能增強多通過 PTF/APAR 交付,升級/新建環境必須確認:
- PKxxxxxx:WLM 環境管理增強。
- UKxxxxxx:Java SP JVM 穩定性修復。
- PIxxxxxx:原生 SQL PL 編譯器優化。
- 具體 PTF 編號請參考 IBM DB2 for z/OS Program Directory 及 Preventive Service Planning (PSP) Bucket。
用戶開發存儲過程:規劃原則
- 功能歸屬:核心交易 → 高性能 AE;報表/分析 → 通用 AE;實驗性 → DEBUG AE。
- 語言選擇:Native SQL PL (最佳性能、無 JVM 開銷) > Java (複雜邏輯、庫復用) > REXX (維護舊代碼)。
- 資源配額:在 AE 定義中設定
STORAGESIZE、CPULIMIT、IOLIMIT,防止單一失控 SP 拖垮整個 AE。
- 版本管理:採用
VERSION 機制,部署新版本不影響舊版本調用,支援平滑回滾。
- 監控指標:
CALLS、ABENDS、CPU TIME、ELAPSED TIME、WAIT TIME (WLM 報告)、THREAD COUNT。
WLM 服務類別與目標設定
- 為每個 AE 定義獨立服務類別,關聯性能目標 (Response Time / Velocity / Discretionary)。
- 核心交易 AE → Velocity 目標 (高優先級、低延遲)。
- 批量/工具 AE → Discretionary 目標 (低優先級、填充閒置資源)。
- 配置分類規則:按
PROCNAME (啟動 JCL 名) 將工作分派至對應服務類別。
實施檢查清單
- [ ] 確認 PTF/APAR 已套用。
- [ ] 規劃 AE 分類矩陣 (名稱、用途、TCB 數、超時、存儲)。
- [ ] 編寫/收集各 AE 啟動 JCL (參考
DSN1WLM 模板)。
- [ ] 定義 WLM 服務類別、性能目標、分類規則。
- [ ] 在 DSNTIPX 面板錄入參數,生成安裝作業。
- [ ] 執行安裝/遷移作業,驗證 WLM 環境啟動正常 (
D WLM,APPLENV=*)。
- [ ] 部署測試存儲過程至各 AE,驗證調用路徑、權限、資源隔離。
- [ ] 建立監控儀表板 (WLM + DB2 統計),設定告警閾值。
結語
主機 DB2 存儲過程的核心在於 WLM 環境分類隔離。通過科學劃分 AE、精細調優 DSNTIPX 參數、前置 PTF/APAR 檢查、建立服務類別與性能目標,可實現「核心交易極致低延遲、批量工具填充閒置資源、Java/REXX 隔離不互擾、故障域清晰可控」的理想運行狀態。將此規劃沉澱為標準化部署手冊、變更管理清單、容量規劃模型,是主機 DB2 團隊的核心資產。
- 上一篇文章: Windows MSCS 上部署 DB2 高可用叢集:db2mscs 工具一鍵配置實戰詳解
- 下一篇文章: DB2 用戶密碼修改與備份還原實戰:密碼同步陷阱、恢復別名衝突解決、db2ckbkp 驗證
Copyright ©
程式碼之家 All Rights Reserved