Benutzer-Werkzeuge

Webseiten-Werkzeuge


users:werner:saprc

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
users:werner:saprc [2008-06-27 2310]
werner SLES10 vergessen...
users:werner:saprc [2010-10-08 2023] (aktuell)
werner ufzsap 2 oursap
Zeile 1: Zeile 1:
 +====== SAP will nicht starten ======
  
 +...und zwar aus Gründen, die vermutlich am Betriebssystem liegen? Genau das lag bei einem neu installierten SAP Solution Manager (DB: Oracle 10.2.0.2, OS: SUSE Linux Enterprise Server 10, Architektur:​ Linux x86_64) vor...
 +
 +Der SAP-Support teilte mir mit, dass das Problem aus einem Namenskonfikt zwischen dem Novell-Paket "​sapinit"​ und dem SAP-Systemscript "​startsapserv"​ resultiere. Workaround bis zur Freigabe eines geänderten "​sapinit"​ sei es, das Paket ganz zu deinstallieren.
 +
 +Naja, wenn es weiter nichts ist... Aber schließlich sollte die Software bei einem Rechnerstart automatisch starten, also habe ich ein eigenes rc-Script geschrieben:​
 +
 +<code bash>
 +#! /bin/bash
 +#
 +# /​etc/​init.d/​oursap
 +#
 +#   and its symbolic link
 +#
 +# /​usr/​sbin/​rcoursap
 +#
 +### 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/​oursap
 +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 $OURSAP_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 $OURSAP_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 $OURSAP_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 "​Prozesse 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>​
 +
 +Zum Abschluss noch ein
 +<code bash>
 +ln -s /​etc/​init.d/​oursap /​usr/​sbin/​rcoursap
 +insserv oursap
 +</​code>​
 +und die Sache funktioniert!
 +
 +Ach ja, die Konfigurationsdatei ''/​etc/​sysconfig/​oursap''​ sieht so aus:
 +<code bash>
 +## Path:        Productivity/​Other
 +## Description:​ Parameters for SAP software on this machine
 +## Config: ​     oursap
 +#
 +# This file defines some parameters.
 +#
 +# There are no default values, since they highly depend on the
 +# individual system.
 +#
 +
 +## Type:                string
 +## Default: ​            ""​
 +## Config: ​             ""​
 +#
 +# the SAP systems to be controlled. Multiple systems separated by space.
 +# for example OURSAP_SYSTEMS="​C11 UFO"
 +#
 +OURSAP_SYSTEMS="​SID"​
 +</​code>​
 +
 +Diese Seite gibt es auch [[users:​werner:​saprc_en|in Englisch]].
users/werner/saprc.txt · Zuletzt geändert: 2010-10-08 2023 von werner