Benutzer-Werkzeuge

Webseiten-Werkzeuge


users:werner:saprc_en

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

users:werner:saprc_en [2007-11-19 0950] (aktuell)
werner angelegt
Zeile 1: Zeile 1:
 +====== 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:
 +
 +<code bash>
 +#! /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
 +</code>
 +
 +BTW, the mentioned ''/etc/sysconfig/ufzsap'' contains only the line
 +<code bash>
 +UFZSAP_SYSTEMS="SID"
 +</code>
 +where SID is the SAP system ID for the installed SolMan. Multiple Systems may be given separated by blanks.
 +
 +Afterwards, I entered
 +<code bash>
 +ln -s /etc/init.d/ufzsap /usr/sbin/rcufzsap
 +insserv ufzsap
 +</code>
 +and everything went smooth!
 +
 +This page is also available [[users:werner:saprc_en|in German]].
users/werner/saprc_en.txt · Zuletzt geändert: 2007-11-19 0950 von werner