DB2 9 for z/OS 起,所有儲存程序由 z/OS **WLM (Workload Manager)** 透過 **應用環境 (Application Environment, AE)** 統一管理。儲存程序被呼叫時,WLM 自動啟動對應 AE 的啟動 JCL (STC) 提供執行環境。
依功能、開發語言、效能需求分群,原則:**滿足需求前提下,最小化 AE 數量,便於管理**。建議四大類:
| 類別 | 代表功能 | NUMTCB | 關鍵 DD |
|---|---|---|---|
| 線上 Utility | DSNUTILS, DSNUTILU | 1 (禁止並發,避免臨時檔衝突) | SYSIN, SYSPRINT, UTPRINT, RNPRIN01, DSSPRINT |
| 通用 (C/C++/COBOL/SQL PL) | 大多數業務 SP | 40~60 (視資源) | SCEERUN, SDSNEXIT, SDSNLOAD, 選配 CICS/MQ/Web Services |
| REXX | REXX 語言 SP | 1 | RUNLIB, CBC 編譯器, SCEERUN, SDSNCLST, SQL 前置處理器資料集 |
| Java | Java SP (運行於 USS) | 5~10 | JAVAENV (指向 Java 環境配置檔), JSPDEBUG, JAVAOUT, JAVAERR |
//DB11WLM2 PROC APPLENV=DB11WLM2,DB2SSN=DSN,RGN=0K,NUMTCB=40
//IEFPROC EXEC PGM=DSNX9WLM,REGION=&RGN,TIME=NOLIMIT,
// PARM='&DB2SSN,&NUMTCB,&APPLENV'
//STEPLIB DD DISP=SHR,DSN=prefix.SCEERUN
// DD DISP=SHR,DSN=prefix.SDSNEXIT
// DD DISP=SHR,DSN=prefix.SDSNLOAD
PARM='&DB2SSN,1,&APPLENV' —— 硬編碼 1,忽略 NUMTCB 符號DYNAMNBR=5 支援動態分配SYSEXEC 指向 DSNTPSMP、SQLDBRM/SQLCSRC/SQLLMOD 等 SQL PL 處理器資料集JAVAENV DD DISP=SHR,DSN=prefix.DB11WLMJ.JavaENV 指向環境定義檔
ENVAR("_CEE_ENVFILE=/u/db2tdbg/nolimit.txt", "JAVA_HOME=/u/Java/J1.4"),
MSGFILE(JSPDEBUG,,,,ENQ),
XPLINK(ON)
nolimit.txt 含 LIBPATH、CLASSPATH、DB2_HOME、WORK_DIR、PATH、DB2SQLJPROPERTIES、STEPLIB| 參數 | DSNZPARM | 說明 |
|---|---|---|
| WLM PROC NAME | — | Sample JCL 預設 PROC 名 |
| NUMBER OF TCBS | — | 單一位址空間並發 TCB 上限 (1-100),受 USS MAXPROCUSER 限制 |
| MAX ABEND COUNT | STORMXAB | 允許 ABEND 次數,0=首次失敗即終止 |
| TIMEOUT VALUE | STORTIME | 等待 TCB 分配秒數 (5-1800/NOLIMIT),不建議 NOLIMIT |
| WLM ENVIRONMENT | WLMENV | CREATE PROCEDURE 未指定 AE 時的預設值 |
| MAX OPEN CURSORS | MAX_NUM_CUR | 每 Thread 最大游標數 |
| MAX STORED PROCS | MAX_ST_PROC | 每 Thread 最大 SP 呼叫數,COMMIT 後歸零 |
Appl Environment Name . . DB11WLM1
Description . . . . . . . DB2 DB11WLM1
Subsystem type . . . . . DB2
Procedure name . . . . . DB11WLM1
Start parameters . . . . DB2SSN=&IWMSSNM,NUMTCB=1,APPLENV=DB11WLM1
建議:**AE 名稱 = 啟動 PROC 名稱**,便於運維對應。
-DISPLAY DDF 取得 Location、IP、Port
db2 catalog tcpip node <節點> remote <主機> server <Port>
db2 catalog dcs database <目標DB> as <別名>
db2 catalog database <別名> as <本地別名> at node <節點> authentication DCS
db2 connect to <本地別名> user <用戶> using <密碼>DSNTIJSG 客製化建立 SP 定義