STMS傳輸隊列中的請求狀態一直是Running不能結束


   通過STMS傳輸請求時,遇到了如下問題:

   STMS傳輸請求,不論等多久的時間,請求狀態一直是running,不能結束。但檢查傳輸的內容時,發現CHANGE REQUEST包含的內容已經傳輸到目標Client。

   查詢了很多資料,終於解決了問題,總結如下。

   1、CHANGE REQUEST包含的內容已經傳輸到目標Client,排除了RFC出錯的可能性。並且也檢查了RFC,沒有發現存在問題。

    2、分析與STMS傳輸任務相關的TABLE(ECC 6已經沒有TMSTLOCK表):TMSTLOCK*、TRJOB、TRBAT。
       查看TMSTLOCKNR Table,發現里有與處於running狀態的CHANGE REQUEST相同數量的鎖;
       查看TRJOB Table,TRJOB里也有相同數量的任務在運行。

    3、將處於鎖定狀態下的任務解鎖,解鎖的方法就是將相關表TMSTLOCK*里的記錄清除(delete),delete的前提條件是確保所有delete的任務都已經傳輸到目標Client。將TMSTLOCKNR里的記錄delete完成后,進入STMS查看請求傳輸的狀態,這時傳輸的狀態已全部為完成。

    4、查看TRJOB Table,此時TRJOB已經沒有記錄。

    5、查看TRBAT Table,發現TRBAT里仍有兩條記錄,從時間戳所標識的時間來看,這兩條記錄已過去很長時間了,且自此時間后所有的請求傳輸都不能結束,可以斷定是由於此傳輸任務未結束導致后續請求無法傳輸,因此將這兩條記錄清除(delete)。在刪除記錄時,提示記錄不能被刪除,分析原因是由於后台tp進程正在使用表TRBAT,解決辦法:進入應用服務器查看tp進程:ps -ef | grep tp,將tp進程全部kill或者通過SM37結束tp進程,然后再刪除。

    6、產生一條新的CHANGE REQUEST做傳輸測試,傳輸可以正常結束。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM