====== SAP won't start ====== ...and that is because of some reasons that are caused by the operating system? Exactly that was the case with a new installed SAP Solution Manager 4.0 (DB: Oracle, OS: SLES 10 x86_64)... SAP support told me the cause for this problem was a name conflict between the SLES package sapinit and the SAP command "startsapserv". As a workaround I had to uninstall the package "sapinit". Well, this is not hard to do (''rpm -e sapinit''). But the software had to start together with the system, so I wrote a startup script on my own: #! /bin/bash # # /etc/init.d/ufzsap # # and its symbolic link # # /usr/sbin/rcufzsap # ### BEGIN INIT INFO # Provides: UFZSAP # Required-Start: $remote_fs $syslog # Should-Start: sysstat # Required-Stop: $remote_fs $syslog # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: Control script for SAP systems # Description: Controls SAP systems installed on this machine ### END INIT INFO # Fetch the boot script functions, if available test -f /etc/rc.status && . /etc/rc.status # get configuration data CONFIGFILE=/etc/sysconfig/ufzsap test -f $CONFIGFILE && . $CONFIGFILE # Reset status of this service rc_reset # Figure out what to do, and do it;-) case "$1" in start) for SAPSID in $UFZSAP_SYSTEMS; do SIDBIG=$(echo $SAPSID | tr /a-z/ /A-Z/) SIDSML=$(echo $SAPSID | tr /A-Z/ /a-z/) SIDADM="${SIDSML}adm" ORASID="ora${SIDSML}" su - $ORASID -c "/oracle/$SIDBIG/102_64/bin/lsnrctl start" su - $SIDADM -c "/sapmnt/$SIDBIG/exe/startsap" done rc_status -v ;; stop) for SAPSID in $UFZSAP_SYSTEMS; do SIDBIG=$(echo $SAPSID | tr /a-z/ /A-Z/) SIDSML=$(echo $SAPSID | tr /A-Z/ /a-z/) SIDADM="${SIDSML}adm" ORASID="ora${SIDSML}" su - $SIDADM -c "/sapmnt/$SIDBIG/exe/stopsap" su - $ORASID -c "/oracle/$SIDBIG/102_64/bin/lsnrctl stop" done rc_status -v ;; status) for SAPSID in $UFZSAP_SYSTEMS; do SIDBIG=$(echo $SAPSID | tr /a-z/ /A-Z/) SAPPROCS=$(ps ax | grep "dw.sap$SIDBIG" | grep -v grep | wc -l) ORAPROCS=$(ps ax | grep "oracle$SIDBIG" | grep -v grep | wc -l) JVAPROCS=$(ps ax | grep jlaunch | grep $SIDBIG | grep -v grep | wc -l) ICMPROCS=$(ps ax | grep icman | grep $SIDBIG | grep -v grep | wc -l) SSSPROCS=$(ps ax | grep sapstartsrv | grep $SIDBIG | grep -v grep | wc -l) echo "Processes for system $SIDBIG: $SAPPROCS d+w, $ORAPROCS Oracle, $JVAPROCS Java, $ICMPROCS ICM, $SSSPROCS sapstartserv" done rc_status -v ;; try-restart|restart) $0 stop $0 start ;; *) echo "Usage: $0 {start|status|stop|restart|try-restart}" exit 1 ;; esac rc_exit BTW, the mentioned ''/etc/sysconfig/ufzsap'' contains only the line UFZSAP_SYSTEMS="SID" where SID is the SAP system ID for the installed SolMan. Multiple Systems may be given separated by blanks. Afterwards, I entered ln -s /etc/init.d/ufzsap /usr/sbin/rcufzsap insserv ufzsap and everything went smooth! This page is also available [[users:werner:saprc_en|in German]].