診斷應用程式錯誤
如果部署在平台上的應用程式版本未處於預期的狀態,請遵循此疑難排解程序採取適當的動作。
開始之前
程序
- 如果應用程式版本的狀態為 FAILED,請檢查 CICSPlex® SM 輸出日誌 (EYULOG),以取得安裝或捨棄應用程式時所發生問題的詳細資料。 CMAS 的 CICSPlex SM 資料儲存庫可能已滿,在此情況下,您需要增加其大小。若要擴展資料儲存庫,請使用 IDCAMS 公用程式的 REPRO 函數。執行此作業的 JCL 範例在 CICSTS51.CPSM.SEYUSAMP 檔案庫的 EYUJXDRP 成員中。在該 JCL 中,請在 RECORDS(xx,yy) 陳述式上指定適用於您環境的主要 (xx) 及次要 (yy) 值。起始值為 500 和 3000。
- 如果應用程式版本的狀態是 DISABLED 或 SOMEDISABLED,請嘗試啟用整個應用程式。
- 在 Cloud Explorer 視圖中,以滑鼠右鍵按一下應用程式版本,然後選取啟用。 如果應用程式版本已在線上應用程式編輯器中開啟,請使用「概觀」標籤上的啟用按鈕。 CICSPlex SM 會嘗試啟用該應用程式版本在所有 CICS 區域中的所有 CICS 組合。
- 檢查新狀態,以查看應用程式版本現在是否已啟用。 如果應用程式版本未啟用,請調查在每個管理組件中指定的個別 CICS 組合。 在 Cloud Explorer 視圖中,使用切換階層
下拉清單來切換至應用程式階層。使用應用程式階層,展開顯示在應用程式下的每一個區域類型,以顯示區域類型的「組合」清單。展開每一個「組合」清單,以顯示應用程式的管理組件。
- 如果管理組件的狀態是 DISABLED 或 SOMEDISABLED,請嘗試在安裝所在的每一個 CICS 區域中啟用個別的 CICS 組合。
- 按兩下管理組件,以開啟「CICS 組合」視圖,其會顯示已安裝的 CICS 組合。或者,用滑鼠右鍵按一下管理組件,然後按一下顯示已安裝的組合。
- 在「CICS 組合」視圖中,在要於其中啟用 CICS 組合的 CICS 區域中,選取該 CICS 組合的記錄,並按一下滑鼠右鍵選取啟用。
- 如果 CICS 組合保留停用狀態,請檢查其定義,查看其是否與未呈現在 CICS 區域中的資源匯入作業有相依關係。
提示: 如果包含應用程式的專用 LIBRARY 資源定義的 CICS 組合已停用,CICS 即不會嘗試從該應用程式的任何其他專用 LIBRARY 連結,或依廣域搜尋順序從公用 LIBRARY 連結載入程式模組。此時會將「找不到」回應傳回至作業。此動作可避免載入錯誤程式的可能性,並可讓工作量管理將工作從 CICS 區域中遞送出去。因此,所有包含 LIBRARY 資源定義的 CICS 組合都必須啟用,以執行應用程式的程式載入。 - 如果應用程式版本的狀態為 INCOMPLETE 或 EMPTY,請調查在每個管理組件中指定的個別 CICS 組合:
- 在 Cloud Explorer 視圖中,使用切換階層
下拉清單來切換至應用程式階層。使用應用程式階層,展開顯示在應用程式下的每一個區域類型,以顯示區域類型的「組合」清單。展開每一個「組合」清單,以顯示應用程式的管理組件。 若要使用已安裝的 CICS 組合,請按兩下管理組件,以開啟「CICS 組合」視圖。或者,用滑鼠右鍵按一下管理組件,然後按一下顯示已安裝的組合。
- 如果管理組件的狀態為 INVALIDSCOPE,請檢查 CICS 組合的定義,查看是否正確地指定目標 CICS 系統群組。
- 如果管理組件的狀態為 EMPTY,請檢查應該已安裝 CICS 組合的 CICS 區域是否在作用中,且是否連接至 CMAS。 若要檢查 CICS 區域是否為作用中,在 Cloud Explorer 視圖中,使用切換階層
下拉清單來切換至平台階層。對於應用程式安裝所在的平台,請展開區域類型,然後展開每一個區域類型的「區域」清單,以顯示 CICS 區域及其狀態。 如果 CICS 區域可用,請檢查 CICS 組合的定義是否有任何錯誤。
- 如果管理組件的狀態為 INCOMPLETE,請在受影響組合的區域類型中,檢查 CICS 區域的 CICSMSG 日誌,以取得未安裝組合的原因相關資訊。 如果找不到 CICS 組合,請檢查 zFS 設定。
- 當平台遍布在相同 sysplex 的不同系統 (LPAR) 中,但是整個 sysplex 不共用 zFS 檔案系統中的平台起始目錄,則會發生此錯誤。您必須使用 FTP(方法是使用連接至 CMAS 執行所在之相同 zFS 的連線),或者設定整個 sysplex 共用您的平台起始目錄。
- 如果平台起始目錄所在的 sysplex 不是安裝該平台所在的 sysplex,也會發生此錯誤。請確定平台起始目錄位於安裝該平台的 sysplex 上。
- 在 Cloud Explorer 視圖中,使用切換階層
- 如果某個應用程式版本安裝在 CICS 區域中的專用資源發生問題,請調查個別的專用資源。
- 在 Cloud Explorer 視圖中,按兩下已安裝的應用程式版本的名稱,以在線上應用程式編輯器中加以開啟,然後選取「專用資源」標籤。 若要依據安裝專用資源的 CICS 區域來過濾專用資源,請選取「結構」窗格中的區域階層。或者,若要依據定義專用資源的 CICS 組合來過濾專用資源,請選取「結構」窗格中的組合階層。
- 依據資源類型選取適當的標籤,以檢視針對應用程式而安裝的專用資源。請檢查每個預期的專用資源都存在於各個適當的 CICS 區域中,並檢查專用資源的狀態和詳細資訊,以確認是否有異常狀況。 若要使用專用資源,請按兩下資源名稱,在編輯器中加以開啟。
- 如果您的應用程式具有專用 LIBRARY 資源,您可以選取「Library DS 名稱」標籤,以檢視 z/OS 為資料集的每個 LIBRARY 連結產生的 DD 名稱。請檢查這些資料集是否已正確建立。
- 如果您執行了設為可供使用動作,使應用程式版本可供呼叫者使用,但可用性狀態未顯示為 AVAILABLE,先請驗證這是否為必要動作。
- 如果應用程式版本的可用性狀態完全未顯示,這對仍處於 CICS TS 5.1 的 CICS 區域而言,是正常現象。設為可供使用動作不適用於這些區域中的應用程式,但這些應用程式只要進入 ENABLED 狀態,就隨即可供呼叫者使用。
- 如果應用程式版本的可用性狀態顯示為「無進入點」(即狀態 NONE),則表示應用程式沒有應用程式進入點,所以無需執行設為可供使用動作。 應用程式進入點是用來控制在使用者在多版本環境中對應用程式版本的存取,因此您應該在應用程式中宣告適合的 CICS 資源的應用程式進入點。
- 如果您執行了設為可供使用動作,使應用程式版本可供呼叫者使用,且此動作是必要的,但應用程式版本的可用性狀態仍持續顯示為 UNAVAILABLE 或 SOMEAVAIL,請調查該應用程式版本的個別管理組件。 在 Cloud Explorer 視圖中,使用應用程式階層,展開顯示在應用程式下的每一個區域類型,以顯示該區域類型的「組合」清單。展開每一個「組合」清單,以顯示應用程式的管理組件。
- 如果管理組件的可用性狀態顯示為「無進入點」(即狀態 NONE),則表示 CICS 組合未包含應用程式進入點的陳述式,因此您無需加以調查。
- 如果管理組件的可用性狀態顯示為 AVAILABLE,表示在 CICS 組合中宣告的應用程式進入點已順利設為可供呼叫者使用,因此您無需加以調查。
- 如果管理組件的可用性狀態顯示為 UNAVAILABLE 或 SOMEAVAIL,請檢查可代表為 CICS 組合所安裝資源之個別 CICS 組合和組合組件的狀態。 若要使用已安裝的 CICS 組合,請按兩下管理組件,以開啟「CICS 組合」視圖。或者,用滑鼠右鍵按一下管理組件,然後按一下顯示已安裝的組合。若要檢視已為 CICS 組合安裝之個別資源的組合組件,請以滑鼠右鍵按一下「組合」視圖中的 CICS 組合名稱,然後按一下顯示組合組件。 請檢查是否有下列任何狀況:
- 在 CICS 組合中宣告應用程式進入點時,所使用的作業名稱與在應用程式中的其他位置使用的作業名稱重複。為避免發生此狀況,請確定作業名稱在應用程式中都是唯一的。作業名稱須區分大小寫,因此您可以使用只有大小寫不同的作業名稱,例如
browse
和Browse
。 - 在 CICS 組合中宣告為應用程式進入點的 URIMAP 資源不存在,或該資源已保留作為其他應用程式的應用程式進入點。為避免發生此狀況,請在環境中使用唯一名稱來定義 URIMAP 資源。
- 在 CICS 組合中宣告為應用程式進入點的程式,是與應用程式版本一起部署的其中一個 CICS 組合中所定義的專用程式。但目前已有具有該名稱的程式安裝為 CICS 區域中的公用程式。宣告為應用程式進入點的程式,在您的環境中必須具有唯一的 PROGRAM 資源名稱。為避免發生此狀況,請在專用程式的資源定義和應用程式進入點宣告中重新命名專用程式,使其名稱具有唯一性。定義為應用程式進入點的相同專用 PROGRAM 資源的多個版本,可針對相同應用程式的多個版本安裝,因為 CICS 會對應用程式版本管理從專用 PROGRAM 資源升級至公用狀態的作業。
- 宣告為應用程式進入點的舊版應用程式,並未定義在隨應用程式版本部署的其中一個 CICS 組合中,並且已安裝為公用程式。當應用程式版本啟用時,CICS 會將已安裝的公用程式保留為應用程式進入點。但是,由於在應用程式之前安裝的公用程式無法成為專用程式,因此 CICS 此時無法自動管理新版本應用程式的應用程式進入點。若要將應用程式更新至新版本,您將必須停用並捨棄現有版本。為避免發生此狀況,您可以安排由應用程式安裝程序自動安裝公用程式,如此,該程式即可成為專用程式,而使後續得以同時安裝不同的應用程式版本。或者,您可以在隨應用程式版本部署的其中一個 CICS 組合中定義該程式,確保其具有唯一名稱,以使其成為專用程式。
- 在 CICS 組合中宣告應用程式進入點時,所使用的作業名稱與在應用程式中的其他位置使用的作業名稱重複。為避免發生此狀況,請確定作業名稱在應用程式中都是唯一的。作業名稱須區分大小寫,因此您可以使用只有大小寫不同的作業名稱,例如
- 如果您無法停用某應用程式版本,請檢查是否已在必要時為此應用程式版本執行了設為無法使用動作。
- 在 CICS TS 5.2 的 CICS 區域中,如果應用程式版本的可用性狀態顯示為 AVAILABLE,您就必須先執行設為無法使用動作,使呼叫者無法使用該應用程式版本,才能加以停用。
- 如果您的平台上包含任何仍使用 CICS TS 5.1 的 CICS 區域,這些區域中的應用程式將不適用設為無法使用動作。將不會顯示其可用性狀態。
- 如果有任何應用程式沒有應用程式進入點,您無需對這些應用程式執行設為無法使用動作。其可用性狀態會顯示為「無進入點」。
- 如果您的應用程式已在必要時設為無法使用,且您已執行停用動作,但應用程式版本仍處於 DISABLING 狀態,請調查在每個管理組件中指定的個別 CICS 組合。
- 在 Cloud Explorer 視圖中,使用應用程式階層,展開顯示在應用程式下的每一個區域類型,以顯示該區域類型的「組合」清單。展開每一個「組合」清單,以顯示應用程式的管理組件。 若要使用已安裝的 CICS 組合,請按兩下管理組件,以開啟「CICS 組合」視圖。或者,用滑鼠右鍵按一下管理組件,然後按一下顯示已安裝的組合。
- 在「CICS 組合」視圖中,找出任何尚未停用的 CICS 組合。在 CICS 組合尚未停用的 CICS 區域中選取該組合的記錄,然後按一下滑鼠右鍵,並選取停用。
- 如果 CICS 組合仍未停用,請在「組合組件」視圖中檢視其組合組件,以識別並檢查針對該 CICS 組合而安裝的個別資源處於何種狀態。 若要檢視組合組件,請以滑鼠右鍵按一下「組合」視圖中的 CICS 組合名稱,然後按一下顯示組合組件。
- 檢查 CICS 組合中定義之任何 LIBRARY 或 PROGRAM 資源的狀態。 必須在動態程式 LIBRARY 連結和所有從中載入的程式使用計數到達零時,與 LIBRARY 資源相關聯的 BUNDLEPART 資源才會報告 DISABLED 狀態。就 PROGRAM 資源而言,雖然在作為程式安裝來源的 CICS 組合上執行了停用作業後,CICS 即會停用該程式,但在程式的使用計數達到 0 之前,相關聯的 BUNDLEPART 資源仍將處於啟用狀態。如果在可接受的時間間隔後使用計數仍未達到 0,就可能必須從 CICS 清除工作,使組合停用程序得以完成。
- 檢查 CICS 組合中定義之任何 JVMSERVER 或 TCPIPSERVICE 資源的狀態。 依預設,必須在所有現行作業使用完這些資源後,資源才會停用。
- 對於 JVMSERVER 資源,如果您要立即停用 JVM 伺服器,並清除其中正在執行的作業,請對 CICS 區域中動態產生的資源使用 SET JVMSERVER PURGE、FORCEPURGE 或 KILL 指令。您可以在 CICS Explorer® 中執行此動作。
- 對於 TCPIPSERVICE 資源,如果您要立即停用服務,並關閉所有連線,請對 CICS 區域中動態產生的資源使用 SET TCPIPSERVICE IMMCLOSE 指令。您可以在 CICS Explorer 中執行此動作。
- 檢查 CICS 組合中定義之任何 FILE 資源的狀態,同時檢查 CICS 訊息日誌中是否有訊息 DFHFC6043。 當您嘗試停用 CICS 組合中定義的檔案,但該檔案仍在使用中,或是檔案有保持的鎖定時,CICS 就會發出這則訊息。
- 如果檔案處於 DISABLED 狀態但 CICS 發出了訊息 DFHFC6043,若為可回復的檔案,請檢查並解析保持的鎖定。若為不可回復的檔案,請檢查使用該檔案的作業,然後清除這些作業或等待其完成。當適當的程序完成時,CICS 組合即會移至 DISABLED 狀態。
- 如果檔案處於 DISABLING 狀態,您可以發出下列任一指令來清除正在使用檔案的作業並停用該檔案:
- EXEC CICS SET FILE DISABLED FORCE
- EXEC CICS SET FILE CLOSED FORCE
- CEMT SET FILE FORCECLOSE
上層主題: 使用應用程式