影響交易復原的大型主機問題

在某些情況下,TI 無法處理遠端環境的新交易。 這可以是正確的行為。 例如,如果 TI 例外狀況 1227 傳回至用戶端應用程式或記錄在事件中,而 HRESULT 為 8004D110,表示無法接受具有此遠端環境的新交易,因為先前的交易在通訊失敗後未解決。

當兩階段認可程式未完成時,CICS 必須保留處於 In-Doubt 狀態的交易,直到重新建立通訊為止。 然後 TI 會執行復原通訊協定,以確保交易在所有節點上都處於相同的狀態。 CICS 必須正確設定,才能發生此情況。

如果 CICS 意外終止,然後以冷狀態重新開機,則其記錄檔中沒有任何尚未完成的交易記憶體。 因此,這些交易無法自動復原為一致的狀態。 確認所有交易在停止 CICS 之前都已完成,或使用相同的記錄檔設定暖重新開機的 CICS,以便復原任何擱置的交易。

CICS 交易伺服器可讓系統管理員在交易的 In-Doubt 屬性中指定等候時間。 請務必指定適當的值,以允許在大部分情況下重新建立通訊。 如果此逾時已在復原處於 In-Doubt 狀態的所有交易之前經過,CICS 會做出啟發學習決策,以在本機解決這些交易。 如果此決策與 Microsoft DTC (分散式交易協調器) 對交易所做的決策衝突,除非手動覆寫先前交易的結果,否則無法啟動新的交易。

在 CICS 交易伺服器之前的 CICS 版本中,復原屬性中沒有等候時間。 將 Wait 值指派給 In-Doubt 屬性,並不會導致 CICS 在嘗試復原時,將交易置於 TI 要求的狀態。 如果您使用這些版本的 CICS,請將 In-Doubt 屬性設定為 Backout 或 Commit。 如果產生的啟發學習決策不正確,並防止新的交易開始,請使用 DTC 覆寫交易的結果。

檢查 Windows 事件記錄檔中來自 SNA LU 6.2 Resync TP 服務的訊息,指出交易未成功復原。 遵循建議的動作。 使用 Microsoft Transaction Server 的 [交易清單] 視窗來顯示擱置的交易。 以滑鼠右鍵按一下交易以顯示其屬性。 解決它以同意 CICS 已設定為以啟發學習方式選取的狀態,或如果 CICS 意外終止並啟動冷狀態,請將其解決為已備份或中止的狀態。 記錄中的事件會識別 CICS 選擇的交易和狀態。

注意

這不適用於 TCP/IP,因為 TCP/IP 不支援 ACID (不可部分完成、一致、隔離且持久) 交易。

另請參閱

如何手動解析交易