on 09-09-2014 12:03 PM
Hi experts,
I have my SAP ECC in a distributed system (CI and DB nodes are different) on Oracle 11G/ Solaris.
When I try to execute any action in db13, appear the following error:
SXPG_COMMAND_EXECUTE failed for BRTOOLS - Reason: program_start_error: For More Information, See SYS
I follow the SAP Note: 1974030 - How to configure DB13 to work with a standalone Oracle database in Unix/Linux
but I continue with the error
The RFC SAPXPG_DBDEST_HOSTDB works fine but I check in the trace of the proccess is:
LOCATION SAP-Gateway on host adonis.blumaq.local / sapgw00
ERROR timeout during allocate
TIME Tue Sep 9 12:47:24 2014
RELEASE 721
COMPONENT SAP-Gateway
VERSION 2
RC 242
MODULE gwr3cpic.c
LINE 2164
DETAIL no connect of TP sapxpg from host adonisdb after 20 sec
COUNTER 6595
Any idea?
Thanks in advance,
Regards,
It seems it is not exactly the path problem, as your RFC is working and your DB13 is able to call the RFC. Please go through trace file dev_rd and post the exact log. it is available in
/usr/sap/<SID>/<instance>/work directory.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
There are any error in the file...
Only, appear error in dev_w*
M Thu Sep 11 08:53:09 2014
M
M *****************************************************************************
M *
M * LOCATION SAP-Gateway on host adonis.blumaq.local / sapgw00
M * ERROR timeout during allocate
M *
M * TIME Thu Sep 11 08:53:09 2014
M * RELEASE 721
M * COMPONENT SAP-Gateway
M * VERSION 2
M * RC 242
M * MODULE gwr3cpic.c
M * LINE 2164
M * DETAIL no connect of TP sapxpg from host adonisdb after 20 sec
M * COUNTER 16712
M *
M *****************************************************************************
M
A RFC 1714 CONVID 39909296
A * CMRC=27 DATA=0 STATUS=0 SAPRC=242 ThSAPOCMINIT
A RFC> ABAP Programm: SAPLCRFC (Transaction: )
A RFC> User: SOTHIS (Client: 100)
A RFC> Destination: %_TCPIP_%1 (handle: 1, DtConId: 54116C5B464863A1E1000000C0A8018E, DtConCnt: 0, ConvId: ,)
A *** ERROR => RFC ======> CPIC-CALL: 'ThSAPOCMINIT' : cmRc=27 thRc=242
Timeout al intentar establecer una comunicación (¿ interlocutor ok ?)
[abrfcio.c 9213]
A {root-id=80144F66D7721ED48EB007B73F235E38}_{conn-id=00000000000000000000000000000000}_0
A *** ERROR => RFC Error RFCIO_ERROR_SYSERROR in abrfcpic.c : 1730
CPIC-CALL: 'ThSAPOCMINIT' : cmRc=27 thRc=242
Timeout al intentar establecer una comunicación (¿ interlocutor ok ?)
DEST =%_TCPIP_%1
HOST =adonisdb
PROG =sapxpg
[abrfcio.c 9213]
A {root-id=80144F66D7721ED48EB007B73F235E38}_{conn-id=00000000000000000000000000000000}_0
L EXTERNAL COMMAND: rc = Error 1003
L EXTERNAL COMMAND: SAPLSSXP LSSXPF01 FORM WRITE_CALLSTACK
L EXTERNAL COMMAND: SAPLSSXP LSSXPF01 FORM SYSLOG_COM_EXEC
L EXTERNAL COMMAND: SAPLSSXP LSSXPU01 FUNCTION SXPG_STEP_XPG_START
L EXTERNAL COMMAND: SAPLSSXP LSSXPU03 FUNCTION SXPG_STEP_COMMAND_START
L EXTERNAL COMMAND: SAPLSXPT LSXPTU02 FUNCTION SXPG_COMMAND_EXECUTE_LONG
L EXTERNAL COMMAND: SAPLSXPT LSXPTU03 FUNCTION SXPG_COMMAND_EXECUTE
L EXTERNAL COMMAND: RSDBAJOB RSJOBF01 FORM EXEC_ACTION
L EXTERNAL COMMAND: RSDBAJOB RSJOBE01 EVENT START-OF-SELECTION
L SXPG_COMMAND_EXECUTE(LONG):
L <timestamp>: 20140911085309
L COMMANDNAME: BRCONNECT
L ADDITIONAL_PARAMETERS: -u / -jid CHECK20140911085248 -c -f check
L LONG_PARAMS:
L OPERATINGSYSTEM: ANYOS
L TARGETSYSTEM: adonisdb
L DESTINATION:
L SY-SUBRC: 1003
Dear Victor,
It seems, your problem is related to shell profile. When remote shell is used from app server,the shell profile is executed (it is .cshrc in c shell) first. Your shell profile should be like this.
# @(#) $Id: //bc/701-1_REL/src/ins/SAPINST/impl/tpls/ind/ind/SAPSRC.CSH#1 $ SAP
# necessary to get hostname without domain (AIX, OS/390 and NOT sun)
switch (`uname`)
case AIX*:
alias hostname 'hostname -s'
breaksw
case OS/390*:
setenv _BPXK_AUTOCVT ON
setenv _TAG_REDIR_IN TXT
set _TAG_REDIR_IN=TXT
setenv _TAG_REDIR_OUT TXT
set _TAG_REDIR_OUT=TXT
setenv _TAG_REDIR_ERR TXT
set _TAG_REDIR_ERR=TXT
alias hostname 'hostname -s'
breaksw
endsw
# SAP environment
if ( -e $HOME/.sapenv_`hostname`.csh ) then
source $HOME/.sapenv_`hostname`.csh
else if ( -e $HOME/.sapenv.csh ) then
source $HOME/.sapenv.csh
endif
# APO environment
if ( -e $HOME/.apoenv_`hostname`.csh ) then
source $HOME/.apoenv_`hostname`.csh
endif
# LiveCache environment
if ( -e $HOME/.lcenv_`hostname`.csh ) then
source $HOME/.lcenv_`hostname`.csh
else if ( -e $HOME/.lcenv.csh ) then
source $HOME/.lcenv.csh
endif
# JAVA environment
if ( -e $HOME/.j2eeenv_`hostname`.csh ) then
source $HOME/.j2eeenv_`hostname`.csh
else if ( -e $HOME/.j2eeenv.csh ) then
source $HOME/.j2eeenv.csh
endif
# XI environment
if ( -e $HOME/.xienv_`hostname`.csh ) then
source $HOME/.xienv_`hostname`.csh
else if ( -e $HOME/.xienv.csh ) then
source $HOME/.xienv.csh
endif
# RDBMS environment
# @(#) $Id: //bc/701-1_REL/src/ins/SAPINST/impl/tpls/ind/ind/DBSRC.CSH#1 $ SAP
if ( -e $HOME/.dbenv_`hostname`.csh ) then
source $HOME/.dbenv_`hostname`.csh
else if ( -e $HOME/.dbenv.csh ) then
source $HOME/.dbenv.csh
endif
It will set the environment variables for the execution of sapxpg and brtools.
As you are telling that sapxpg and brtools are executed from anywhere in DB server,it should be the problem with shell profile, because .login profile is used when you log into the DB server directly. Shell profile is used , when you try to execute the program through remote shell. copy the .login profile to .cshrc( in case of c shell) file, of course after taking backup of shell profile file.It will solve your problem.
see this note 1891781
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Could you supply the environment variables of sidadm user from both the nodes ?
Regards
RB
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
DB server:
DIR_LIBRARY=/usr/sap/BLP/SYS/exe/run
HZ=
LC_MONETARY=en_US.ISO8859-15
dbs_ora_tnsname=BLP
dbms_type=ORA
SHELL=/usr/bin/bash
TERM=xterm
NLS_LANG=AMERICAN_AMERICA.UTF8
SAPEXE=/usr/sap/BLP/SYS/exe/run
RSEC_SSFS_DATAPATH=/usr/sap/BLP/SYS/global/security/rsecssfs/data
LC_NUMERIC=en_US.ISO8859-15
THREAD=NOPS
LD_LIBRARY_PATH=/usr/sap/BLP/SYS/exe/run:/usr/sap/BLP/SYS/exe/uc/sun_64:/oracle/client/11x_64/instantclient
ORACLE_SID=BLP
ORACLE_BASE=/oracle
dbs_ora_schema=SAPBLP
TNS_ADMIN=/usr/sap/BLP/SYS/profile/oracle
MAIL=/var/mail/blpadm
PATH=/usr/j2se/jre/bin:/oracle/BLP/112_64/bin:/usr/bin::/usr/sap/BLP/SYS/exe/uc/sun_64:/usr/sap/BLP/SYS/exe/run:/export/home/blpadm:.:/usr/ccs/bin:/usr/ucb
rsdb_ssfs_connect=0
LC_MESSAGES=C
LC_COLLATE=en_US.ISO8859-15
PWD=/export/home/blpadm
JAVA_HOME=/usr/j2se/jre
SAPDATA_HOME=/oracle/BLP
DB_SID=BLP
RSEC_SSFS_KEYPATH=/usr/sap/BLP/SYS/global/security/rsecssfs/key
SAPSYSTEMNAME=BLP
TZ=Europe/Madrid
PS1=
blpadm>
SHLVL=1
HOME=/export/home/blpadm
LOGNAME=blpadm
LC_CTYPE=en_US.ISO8859-15
ORACLE_HOME=/oracle/BLP/112_64
LC_TIME=en_US.ISO8859-15
_=/usr/bin/env
CI server:
DIR_LIBRARY=/usr/sap/BLP/SYS/exe/run
HZ=
LC_MONETARY=en_US.ISO8859-15
dbs_ora_tnsname=BLP
dbms_type=ORA
SHELL=/usr/bin/bash
TERM=xterm
NLS_LANG=AMERICAN_AMERICA.UTF8
SAPEXE=/usr/sap/BLP/SYS/exe/run
RSEC_SSFS_DATAPATH=/usr/sap/BLP/SYS/global/security/rsecssfs/data
LC_NUMERIC=en_US.ISO8859-15
THREAD=NOPS
LD_LIBRARY_PATH=/usr/sap/BLP/SYS/exe/run:/usr/sap/BLP/SYS/exe/uc/sun_64:/oracle/client/11x_64/instantclient
ORACLE_SID=BLP
ORACLE_BASE=/oracle
dbs_ora_schema=SAPBLP
TNS_ADMIN=/usr/sap/BLP/SYS/profile/oracle
MAIL=/var/mail/blpadm
PATH=/usr/j2se/jre/bin:/usr/bin::/usr/sap/BLP/SYS/exe/uc/sun_64:/usr/sap/BLP/SYS/exe/run:/export/home/blpadm:.:/usr/ccs/bin:/usr/ucb
rsdb_ssfs_connect=0
LC_MESSAGES=C
LC_COLLATE=en_US.ISO8859-15
PWD=/export/home/blpadm
JAVA_HOME=/usr/j2se/jre
SAPDATA_HOME=/oracle/BLP
DB_SID=BLP
RSEC_SSFS_KEYPATH=/usr/sap/BLP/SYS/global/security/rsecssfs/key
SAPSYSTEMNAME=BLP
TZ=Europe/Madrid
PS1=
blpadm>
SHLVL=1
HOME=/export/home/blpadm
LOGNAME=blpadm
LC_CTYPE=en_US.ISO8859-15
LC_TIME=en_US.ISO8859-15
_=/usr/bin/env
Do you have a file called .bashrc in the home directory of the blpadm user on both the nodes ? if yes then copy the one from CI node to DB node. (make sure to backup the original one before you replace).
If this is not available and not working then supply all the environment files present in the home directory.
Regards
RB
There are others who had the same issue in the past as well. If possible try to change the shell to CSH and see if that helps. The SAP notes 446172 - SXPG_COMMAND_EXECUTE (program_start_error) in DB13 and 1025707 - DBA Cockpit planning calendar and remote Oracle databases speaks about.
The last option I would try is to set (Copying) the environment variables for users on both nodes and restart the system and see if that helps.
1) Please be sure whether the executable sapxpg is located at /sapmnt/SID/exe/sapxpg or not?
2) check SAPXPG_DBDEST_HOSTDB from the application server, from which you are invoking BRTOOLS.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
As you are sure that RFC is working but program is not executed, the problem seems to be with path only.check following points.
1.Check /usr/sap/<SID>/SYS/exe/run is in path or not ?( in DB host).To check, type set at prompt.
2.If it is in path, then check if you can run sapxpg from anywhere or not?. Simply type sapxpg at prompt.
3.If you can execute sapxpg in DB host simply by typing sapxpg at prompt, modify the RFC in application server(CI or App server) .As shown below
Target host is DB host name.
4) Also check .rhosts file in DB host for the entry <hostname of app server> <SIDADM>.
5) Also check maximum connection for gateway in app server.
Hi,
Thanks for your help.
All points yes, except the point 3)
If I want to work the RFC, I have to put the complete path: /sapmnt/BLP/exe/sapxpg or /usr/sap/BLP/SYS/exe/run/sapxpg
I can execite sapxpg with all users in every location, but, the rsh only work with the complete path too:
rsh <database host> -l <sid>adm /sapmnt/BLP/exe/sapxpg
works fine
rsh <database host> -l <sid>adm sapxpg
does not work
Any idea?
Thanks in advance,
Regards,
Hello Victor,
you have already configured the path to sapxpg in the destination, it should be enough. If rsh is working on OS level, but not from SAP system, then it should be checked, if gateway starts rsh. You should activate RFC trace for the destination, activate trace level 2 for gateway, reproduce the error in DB13 and check the traces. You can try to set also the explicit path /usr/sap/BLP/SYS/exe/run/sapxpg to sapxpg in the destination and check if it makes any difference.
Regards,
Alwina
The trace is the same.
GwIRemoteShell: start programm sapxpg on host adonisdb (/bin/rsh)
GwStartProgram: started /bin/rsh, pid=7497
[ 0]: /bin/rsh
[ 1]: adonisdb
[ 2]: sapxpg
[ 3]: adonis.blumaq.local
[ 4]: sapgw00
[ 5]: 66122614
[ 6]: GWHOST=adonis.blumaq.local
[ 7]: GWSERV=sapgw00
[ 8]: CONVID=66122614
[ 9]: pf=/usr/sap/BLP/SYS/profile/BLP_DVEBMGS00_adonis
[10]: CPIC_TRACE=2
[11]: IDX=2
[12]: DT_ROOT_ID=00000000000000000000000000000000
[13]: DT_CONNECTION_ID=540F3DA5EE5F5392E1000000C0A8018E
[14]: DT_CREATOR_ID=
[15]: SNC_MODE=0
*** trace switched off ***
bash: sapxpg: command not found
bash: sapxpg: command not found
Can not find sapxpg if I not put the complete PATH... or the same, can not find sapxpg because it have not the variable PATH
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
By this note 1974030 - How to configure DB13 to work with a standalone Oracle database in Unix/Linux it is not necessary a gateway in Unix
Hello Victor,
in this case are you using rsh or ssh to start sapxpg on the database host? Have you already checked, if you are able to reach sapxpg program on OS level by executing the command
rsh <database host> -l <sid>adm sapxpg
as described in this note? Could you please share a screenshot about configuration of the destination in SM59?
Regards,
Alwina
Hello Victor,
and how the parameter gw/remsh is set, could you please check also this section in the note "10403 - Starting external programs":
" c) If the remote shell in your computer is not called remsh
(if you
use a Unix 5.4 system, for example),
you must set the gateway parameter
gw/remsh to the correct name
(which is normally "rsh" in such
cases). You may have to use the
complete path name. To check whether
the remote shell is found,
use the Unix command "which remsh" or "which
rsh" under the
gateway identifier."
Regards,
Alwina
I start with the user blpadm the same user on dbhost.
I have not installed gateway,,, in this note: 1974030 - How to configure DB13 to work with a standalone Oracle database in Unix/Linux say it is not necessary.
yes, it should work also without a standalone gateway on DB host. A gateway of an instance in your system will start rsh locally to execute sapxpg on the database server. In SM59 for the destination if you define gateway host and gateway service for the gateway of the instance, for which you have set gw/rem_start and gw/remsh, will it work?
Hi Victor,
Is your system configured correctly for Distributed setup ?
Are the GID and UID same for users on both hosts ?
Refer - 980266 - RFC destination SAPXPG_DBDEST_<DB-HOST> does not work
Regards,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
72 | |
11 | |
10 | |
7 | |
6 | |
6 | |
6 | |
6 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.