SAP STMS传输报错问题分析思路

SAP transport hang. Transport Troubleshooting guide

  1. Basic transport troubleshooting. Verify that there are no errors in system log.

        Execute transaction STMS

        Select Import Overview

        Select SID

        From menu > Go To > System Log

        Correct if no issues in log.

KNOWN ISSUES :

  1. Known Issue 1 – WARNING: \\SERVER\sapmnt\SIDtrans\tmp\SID.LOB is already in use

(22720), I’m waiting 2 sec (20100322091720). My name: pid 10128 on

SERVER (SIDadm)

 Solution 1 – Backup and delete the file ‘\\SERVER\sapmnt\SIDtrans\tmp\SID.LOB’. Add the transport again and perform import.

  1. Known issue 2 – Cannot find \\SERVER\sapmnt\SIDtrans\log\SLOGXX02.SID

Solution 2 – Make sure that file exists. If not, copy the most recent SLOG (example SLOGXX01) and rename it to SLOGXX02.SID. Check again the system log if the issue persist.

  1. Known issue 3 – Problems with job RDDIMPDP

 Solution 3 – Execute SE38 > Run program RDDNEWPP > Choose Normal priority. This will schedule new RDDIMPDP job that is responsible for pushing transport requests in your system.

Disclaimer: The next steps are steps to clear the transport list to make sure that transports push successfully. This should be aligned with customer.

  1. Clear the transport list and redo the transport

       Execute transaction STMS

       Import overview -> Goto -> Import monitor >

     ‘Monitor’ -> right click on transport -> delete entry

      Redo the transport action. Proceed to next step if not solved.

  1. Clear the transport tables

   Make sure that there are no stuck transports in your transport tables.

   Check and delete entries (using transaction SM30) any entries found in the following tables:

      TPSTAT

      TRJOB

      TRBAT

 To do this execute SM30

 Enter ‘TRBAT’ in Table/View.

 Click on Display

Verify that NO transport number or HEADER exists.

 If the Import Monitor or table TPSTAT does not contain

 entries any more, you can delete the entries of tables TMSTLOCKR andTMSTLOCKP.

 Redo the transport action.

If this does not solve the problem. You have the option to stop all transport from OS level.

  1. Kill tp.exe OS process

 Login to SAP server

 Kill any TP.exe processes at the OS level.

 Try again to add and import your request

 Redo the transport action

  1. Save transport resources.

 It is SAP’s recommendation that imports be done asynchrounously rather than synchronously. By doing this you will be conserving system Resources.

 In doing the import > Execution tab > Select ‘Asynchrounously’ > Confirm import

  1. Make sure that transport parameters are okay.

    Add the following parameter to your transport profile.

   ‘/system_pf=/usr/sap//SYS/profile/DEFAULT.PFL’

This parameter simply tells sapevt where to look for your DEFAULT.PFL. Check note 449270 for further information on this. Ensure you have the other settings like:

rdisp/mshost =

rdisp/msserv = sapms

SAPSYSTEM = 00 (this is the system number)

Add system_pf paramter to transport tool via STMS. On the left have

system_pf and on the right /usr/sap//SYS/profile/DEFAULT.PFL

After this, restart the system so that the new parameter is taken into account by the system.

原文:http://mallepallii.blogspot.com/2013/12/sap-transports-hang-how-to-troubleshoot.html

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做传输测试,传输可以正常结束。

注意:

Kill进程的时候要注意ssh到对应的应用服务器实例,不然ps是看不到tp进程的,然后千万不要kill错进程号,kill完进程后刷新stms队列就可以了。

entry-found-in-buffer-with-no-data-files-transferred

If you are getting an error message like “Error : n entry found in buffer with no data file(s) transferred yet. Import has to be stopped!” while trying to import a transport request via STMS then it’s better to check this article before trying to find a solution…

For our case, we got the message below ;

Entry found in buffer with no data file(s) transferred yet

Solution : 

STEP -1 : Adjust the import queue in the import queue.You can do it by clicking from menu “Queue->Adjust” when you open the import queue.

Entry found in buffer with no data file(s) transferred yet

STEP – 2 : If you find the data files and cofiles exist in the transport directory of the target system,then you should issue below command to remove the inactive flag.

tp settransferred ALL <SID> pf=<Path to DIR_TRANS>/bin/TP_DOMAIN_<SID>.PFL

or

tp settransferred <Request Number> <SID> pf=<Path to DIR_TRANS>/bin/TP_DOMAIN_<SID>.PFL

for our case we have executed the following command ;

tp settransferred ALL <SID> pf=<Path to DIR_TRANS>/bin/TP_DOMAIN_<SID>.PFL

Entry found in buffer with no data file(s) transferred yet

Refresh & Check the situation and should be solved like the below screen ;

Entry found in buffer with no data file(s) transferred yet

其他解决方法:

登录服务器,使用scp命令把开发环境的请求号数据文件和配置文件传到目标系统的目录.

然后在目标系统修改文件权限:

然后在目标client刷新stms请求队列,如果还不能出来要传输的请求可以通过人工添加的方式将请求号添加到stms队列。