首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

DB2 z/OS 存儲過程創建實戰:DSNTIJSG 客製化與四大類別部署架構

     編輯:Oracle 資料庫基礎

DB2 系統存儲過程標準化部署流程

DB2 for z/OS 提供豐富的系統存儲過程,透過客製化 DSNTIJSG 作業進行定義與安裝。本文闡述存儲過程四大功能分類、WLM 應用環境對應規劃、NUMTCB 設定原則、在線 Utility 類存儲過程的特殊配置 (串行化、臨時檔案分配),構建可重覆、可審計的部署標準。

存儲過程四大功能分類

類別功能特性代表存儲過程WLM AE 策略
1. 核心系統服務DB2 內部核心功能、目錄操作DSNACCOR, DSNACCOX, DSNUTILS獨立 AE,高優先序
2. 管理與維護統計收集、重組、備份、歸檔DSNACCMG, DSNUTILU維護窗口 AE,低優先序
3. 應用支援服務XML、JSON、空間、文字搜尋DSNXML..., DSNJSON...業務 AE,中等優先序
4. 通用工具類檔案操作、系統命令、轉換工具DSNUTILF, DSNLEUSR工具 AE,NUMTCB=1

分類依據與動態調整

  • PTF 版本可能新增/移除存儲過程,部署前核對 DSNTIJSG 內容
  • NUMTCB 除依功能分類外,須考慮 z/OS 系統資源 (CPU、虛擬儲存、MAXPROCUSER)
  • 建議 AE 名稱 = 啟動流程名稱,命名規範:DB2_<類別> (如 DB2A_CORE)
  • 分類粒度原則:滿足功能隔離前提下,最小化 AE 數量,降低 WLM 管理複雜度

在線 Utility 類存儲過程特殊配置

代表:DSNUTILS (同步)、DSNUTILU (非同步)

核心限制:NUMTCB=1 (強制串行)

原因:Utility 執行產生中間檔案 (SYSUT1, SORTOUT 等),並發將導致檔案覆蓋、資料損壞、不可預期 ABEND。

啟動 JCL 關鍵 DD 分配

關鍵點:所有 DD 使用臨時空間 (&SYSUID..UTILITY),避免殘留佔用;DISP=(NEW,DELETE,DELETE) 確保異常結束也能釋放。

DSNTIJSG 客製化標準流程

  1. 複製 SDSNSAMP(DSNTIJSG) 至客製化 PDS
  2. 修改 WLM ENVIRONMENT 對應規劃的 AE 名稱
  3. 調整 NUMTCB 依分類設定
  4. 確認 STEPLIB 包含 APF 授權庫 (SDSNLOAD, SDSNEXIT)
  5. 提交作業,檢查 SYSPRINT 確認 CREATE PROCEDURE 成功
  6. GRANT EXECUTE 至對應角色/用戶
  7. WLM 重新整理:VARY WLM,APPLENV=ae_name,REFRESH

部署後驗證清單

  • ☐ DISPLAY PROCEDURE(*.*) 狀態 = STOP/START 正確
  • ☐ CALL SYSPROC.DSNUTILS(...) 測試執行無誤
  • ☐ WLM 顯示 AE 下地址空間啟動正常
  • ☐ 審計日誌記錄部署操作 (時間、操作員、變更內容)

用戶自訂存儲過程部署差異

  • 同樣需規劃 AE、啟動 JCL、NUMTCB
  • 額外步驟:Load Module 連結至授權庫、CREATE PROCEDURE ... EXTERNAL NAME 'loadmod' LANGUAGE C/JAVA/COBOL
  • Java SP 需配置 JVMPROPS、CLASSPATH、LE 運行時選項

將系統存儲過程部署標準化為「分類→AE→JCL→DSNTIJSG→驗證」五步驟,納入變更管理流程,配合 PTF 升級週期性重審,確保主機 DB2 存儲過程層始終處於已知、受控、高可用狀態。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
DDNAME用途空間建議
SYSINUtility 控制語句輸入CYL,(10,50)
SYSPRINTUtility 輸出訊息CYL,(50,200)
RNPRIN01DFSORT 訊息CYL,(10,50)
UTPRINTDFSORT 訊息 (備用)CYL,(10,50)
DSSPRINTConcurrent Copy 輸出CYL,(20,100)