跳到主要內容 跳至補充內容

控制 CDC 流程

資料移動閘道 使用 ECSA 記憶體結構 (稱為 R4Z CDC 服務),這在 CDC 處理期間形成。每個 z/OS LPAR 都可能包含幾個這類 R4Z CDC 服務。若要形成 R4Z CDC 服務,會提供特殊公用程式 R4ZCTL。

此程式也能用於管理 CDC 處理的狀態,以及 z/OS 端的流量層級。

下列用途需要 R4Z 控制程式 (R4ZCTL):以一般或強制方式檢查 CDC 和報告 CDC 服務狀態、暫停 CDC 處理、繼續已暫停的 CDC 以及終止 CDC 流程。

執行 R4ZCTL 程式時可用的命令參數為:

資訊備註

若您執行命令而沒有任何參數,將會傳回 CDC 服務的目前狀態。

  • CHECKCONFIG - 驗證設定參數為有效
  • PAUSE_TASK - 停止特定 CDC 任務的服務
  • PAUSE_CDC - 停止 CDC 服務的整個活動
  • RESUME_TASK - 讓已暫停的任務繼續
  • RESUME_CDC - 讓已暫停的 CDC 服務繼續
  • TERMINATE - 停止 CDC 服務,並且在停止後 – 釋放其資源
  • FORCE - 與 TERMINATE 相同,當保留資源的任務「無回應」時

由於 R4ZCTL 程式需要 APF 授權,STEPLIB 中的所有物件庫都必須獲得 APF 授權。

執行 R4ZCTL 而沒有參數時,會根據環境是已初始化 (CC=0) 或是未初始化 (CC=1) 來設定完成代碼。

控制程式叫用語法

會叫用 R4ZCTL 程式作為工作步驟,亦即 EXEC PGM=R4ZCTL,並透過工作步驟的叫用參數接受指示。

R4ZCTL 叫用參數是可能包含以逗號分隔之選用子參數的字串,如下所示:

[SERVICE=CDC-service-qualifier,][MSGLVL={0 | 1},][action]

資訊備註

字串中子參數的順序並不重要。

其中:

SERVICE=CDC-service-qualifier 指定 資料移動閘道 活動的邏輯範圍,控制程式據此運作。

MSGLVL={0 | 1 | 2} 指定在控制程式操作期間要顯示在訊息檔案中的通知層級。

  • 0 = 無通知
  • 1 = 中等
  • 2 = 最大

action-verb 可以是下列之一:

  • PAUSE_TASK(*|ALL|task-qualifier)

    對括號中指定的任務暫停 CDC 擷取。

  • PAUSE_CDC

    對整個 CDC 服務暫停 CDC 擷取。暫停時間超過特定時間的複寫任務將會停止,並嘗試復原多次。不會提供新的任務。

  • RESUME_TASK(*|ALL|task-qualifier)

    task-qualifier 指定的任務繼續 CDC 擷取。

  • RESUME_CDC

    為符合 session-limits 限定詞的所有執行個體繼續 CDC 擷取。

  • DUMP_TASK(*|ALL|task-qualifier)

    請求駐留記憶體結構中控制資訊的格式化傾印。ALL 指定所有工作階段;SUMMARYONLY 僅指定錨點。

  • TERMINATE

    釋放所有 R4Z 駐留記憶體結構、終止所有作用中的執行個體並刪除相關資源。自此時間點起,所有 CDC 請求將傳回非作用中狀態,直到對 CDC 讀取器 UDF 傳入的呼叫自動啟用 CDC 服務為止。

語法元素參考

用於上述語法描述的元素如下:

  • CDC-service-qualifier

    4 字元名稱 (第一個字元為字母,其餘為英數字元),這會指定 CDC 服務。

    「CDC 服務」參考一組資源:記憶體結構、DB2 中定義的使用者定義表格函數 (UDTF) 和 WLM 政策中定義的應用程式環境 (APPLENV)。R4Z 可讓您根據每個 CDC 服務指定屬性,即記憶體限制和處理閾值。也可能由於另一個原因而有必要管理數個 CDC 服務;亦即,允許用於單一 LPAR 的多個 資料移動閘道 版本,每個版本皆維護其相互獨立的記憶體結構。

  • task-qualifier

    在任務開始時指派的 4 位數識別碼。此識別碼的主要目標是控制並追蹤特定任務的 CDC 流量。這形成提供 CDC 之 DB2 執行緒的 CORRID (關聯 ID),這在該處占用第 9-12 個位元組。

控制程式完成代碼

  • 0 – 正常完成
  • 1 – 環境不存在 session-limits 限定詞 (若沒有指定 action)
  • 4 – 警告
  • 8 – 錯誤

樣本工作 (在 INSTALL 物件庫中)

IV1CHECK – 檢查所有 CDC 服務的設定

XMDUMP – 傾印所有工作階段

XMPAUSE – 暫停工作階段

XMRESUME – 繼續工作階段

XMTERMIN – 終止所有工作階段

啟用 CDC 流程 (自動啟用)

若要讓 CDC 讀取器 UDTF 功能能夠運作,此功能需要能夠在叫用 UDTF 時以及首次啟動 z/OS 系統後,配置並預先格式化 ECSA 中的記憶體結構;這也需要存取為 UDTF 提供之 CDC 服務所設定的設定 (或「預設」設定,適用於不是在 CDC 服務層級指定的值)。

為了說明此,安裝流程可確保:

  1. 建立特殊 UDTF 以提供 CDC 服務。建立的 UDTF 以雙底線 (“__”) 為名稱的後置詞,接著是 CDC-service-qualifier,形成的名稱如下:<schema>.R4Z_UDTF__<CDC-service-qualifier>
  2. 建立 WLM APPLENV 以執行上述 UDTF 的叫用。建立的 APPLENV 也可能以 CDC 服務限定詞為名稱的後置詞,以確保 APPLENV 名稱的唯一性,此為建議做法;不過,多個 UDTF 可能會使用單一 APPLENV。
  3. 建立 JCL 程序以「託管」WLM APPLENV 執行。此 JCL 程序與平常的 WLM STC 程序不同,在該程序中必須指定特殊 DDNAME,即 R4ZCNFG,其 DSN 指 R4Z 產品的 CONFIG 物件庫。在此物件庫中,必須有稱為「CDCS」的現有成員,指定預設 CDC 服務設定。可能也存在稱為「CDCS<CDC-service-qualifier>」的成員,具有您要對此 CDC 服務套用的設定值。
  4. CONFIG 物件庫中每個 CDCS* 成員的內容是指派陳述式的清單,每張卡片一個,格式為「keyword=value」。陳述式可能會接在空格之後,並且終止空格;陳述式不允許有任何空格。以連字號 (‘-‘) 開始的卡片視為註解卡片;而最終空格之後的內容也會被視為註解。

    關鍵字、最大值、最小值和預設值
    關鍵字 描述 最小 最大 預設值

    MAXSESSIONS

    CDC 工作階段的數量上限。

    1

    128

    32

    SESSIONTIMEOUTSECS

    工作階段逾時後的秒數。

    300

    7200

    900

    MAXIFIBUFKBYTES

    IFI 讀取允許的最大緩衝大小,以 KB 為單位。

    64

    1024

    256

    MAXRESULTSETMBYTES

    要達到的累積結果集合的最大大小,以 KB 為單位;達到時,會傳回結果集合。

    1

    2048

    4

    MAXRESULTSETSECS

    用於累積結果集合的最大時間間隔,以秒為單位;達到時,會傳回結果集合。

    1

    120

    30

    建立 R4Z CDC 服務

    決定 CDC 服務: 根據預測對於獨立複寫流程的需求 (用來允許不同版本、確保充足的 ECSA 記憶體、說明允許的不同延遲等),可決定哪些 R4Z CDC 服務要存在於每個 LPAR 中。對於每個服務,選擇 CDC 服務限定詞 (4 個字元)。您也需要決定每個 CDC 服務要有自己的 WLM APPLENV (應用程式環境),或單一 APPLENV 以提供所有 CDC 服務。

    您需要將 DFSYMLST 成員中的變數 DEFWLMAE (DEFine WLM Applic. Env.) 設定為 PER (第一個選項) 或 ONE (第二個選項)。設定後,您可以繼續安裝:

    資訊備註
    • 若您為 DEFWLMAE 選取 ONE,應執行工作 DO2* 和 DO3SRVTF 一次;若您選取 PER,則在 JCL SET 變數 CDCSRV 設定為 CDC 服務的限定詞之後,應為每個 CDC 服務執行這些工作。

    • Job DO3SRVDF 建立 CONFIG 物件庫,並置放稱為「CDCS」的成員,這作為預設設定檔運作。執行工作 DO3SRVTF 之後,物件庫將包含所有 CDC 服務的設定,以便可以編輯並變更特定 CDC 服務的設定。

    • 若 ONE 用於 DEFWLMAE,則會使用產品預設,而非 CONFIG 物件庫成員。

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!