on 05-06-2011 5:07 PM
Everything was working fine until I rebooted the server. Now, when I run 'startsap', the instance fails to start. Here's a message from the log:
/usr/sap/PSB/DVEBMGS00/exe/sapstartsrv: error while loading shared libraries: librfcum.so: cannot open shared object file: No such file or directory
I am running startsap as user psbadm, and the LD_LIBRARY_PATH is: LD_LIBRARY_PATH=/usr/sap/PSB/SYS/exe/run:/usr/sap/PSB/SYS/exe/uc/linuxx86_64:/sapdb/clients/PSB/lib
I double-checked and the first path listed there has the file librfcum.so in it.
It appears that the environment must not be carried through when sapstartsrv is run.
Any ideas?
Thanks,
Matt
Matt,
Can you please check /usr/sap/PSB/DVEBMGS00/exe directory, if librfcum.so exist there.
if not copy it from /usr/sap/PSB/SYS/exe/run.
-Sanjay
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sanjay,
Yes, I found the lib in both of those folders already. It is very interesting that the library won't load, because LD_LIBRARY_PATH is pointing to the correct path. But, maybe somehow it is getting unset in the startsap script?
One thing I notice is that startsap runs 'sapstartsrv with an input file named START_DVEBMGS00_usphlvm1438 which contains some execution paramters. This file contains some SETENV_0? variables that define the environment. I don't know how to manually run sapstartsrv to get it to dump the environment out, but when I run the following command at the commandline (which I derived from within the startsap script), then I get some interesting output:
Here's the command:
/usr/sap/PSB/DVEBMGS00/exe/sapstartsrv pf=/usr/sap/PSB/SYS/profile/START_DVEBMGS00_usphlvm1438 -D
Here's the output:
Could not open the ICU common library.
The following files must be in the path described by
the environment variable "LD_LIBRARY_PATH":
libicuuc.so.34, libicudata.so.34, libicui18n.so.34 [nlsui0_mt.c 1439] pid = 23401
LD_LIBRARY_PATH is currently set to <not set> [nlsui0_mt.c 1442] pid = 23401
I don't know why it would complain that LD_LIBRARY_PATH is not set. If I immediately echo $LD_LIBRARY_PATH, it returns a good path, so other things must be going on under the hood that are causing this.
-Matt
I found the problem. Because the environment kept changing, I figured that the user account must be loading incorrectly...however, then psbadm account environment is fine, yet the executable would load empty LD_LIBRARY_PATH. This would only occur for the root user. Sure enough, looking at the sapstartsrv executable, it is owned by root with sticky-bit on. I remember turning on sticky bit, but why I set it to be owned by root is a personal mystery. Regardless....setting ownership of that file to the psbadm resolved the issue. I located all such instances of sapstartsrv and set them to their respective proper owner.
-Matt
Hi,
I know you already checked the environment variable using echo, just for confirmation LD_LIBRARY_PATH should set in .sapenv_<hostname> file.
login with <sid>adm and run command env and see if you are able to find LD_LIBRARY_PATH.
Also refer note:
Note 877795 - Problems w/ sapstartsrv as of Release 7.00 & 6.40 patch 169
Note 823941 - SAP start service on Unix platforms
-Sanjay
User | Count |
---|---|
76 | |
9 | |
8 | |
7 | |
6 | |
5 | |
5 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.