Was soll man da schon falsch machen? Ein beherztes „stopsap“ als <sid>adm und SAP System und Datenbank werden gestoppt. Natürlich kann man auch direkt den Weg per sapcontrol wählen und die Services einzeln stoppen.
Möchte man ein System so herunterfahren, dass alle versionsrelevanten Prozesse abgeschlossen sind hilft die folgende Anleitung weiter. Nach einem Neustart des Systems befinden sich keine alten und zu prozessierenden Einträge in der Queue. Dieses Vorgehen ist unter anderem vor einem Upgrade (Downtime) sehr nützlich!
Hier der elegante Weg zum Stoppen eines SAP Systems, der über das einfache „stopsap“ hinaus geht.
Schritt 1: Queues leeren
Die Queues in dem System manuell leeren (Queues für Update und RFC). Beim Starten der Ausfallzeit sollten die Queues bereits minimiert (Deltaqueues abgebaut) sein. Außerdem sollte sichergestellt sein, dass keine Batch-Jobs mit langer Laufzeit eingeplant sind oder noch gestartet werden, bevor die Downtime beginnt. Dies sind zwar nur organisatorische Vorgehen, jedoch sollten diese unbedingt befolgt werden.
Schritt 2: Batch-Jobs anhalten
TX SE38, Report RLFW_SD_SUSPEND_BATCH_JOBS
Das Programm reduziert die Last auf die Batch-Workprozesse, Anwendungen können jedoch weiterhin neue Hintergrundjobs auslösen. Hierdurch wird die Systemaktivität reduziert.
Schritt 3: Benutzer Benachrichtigung
TX SE38, Report RLFW_SD_NOTIFY_USERS
Der Report sendet einen Kurztext (bis zu 40 Zeichen) an alle oder ausgewählte Benutzer, die aktuell über eine GUI-Sitzung am System angemeldet sind. Dies funktioniert nur für SAP GUI Sessions!
Schritt 4: Neuanmeldungen einschränken
TX SE38, Report RLFW_SD_DISABLE_LOGON
Die Anmeldung wird deaktiviert, sofern der Auswahlknopf „server_logon_privilege“ markiert ist. Nur Benutzer mit dem Attribut server_logon_privileg in einer zugeordneten Sicherheitsrichtlinie dürfen sich dann noch anmelden. (SAP-Hinweis 1891583 -> Anmeldung am Anwendungsserver einschränken).
Wichtig ist hier natürlich, dass die entsprechend vorgesehenen Benutzer das Recht zuvor zugeordnet bekommen – dies muss für alle User (auch DDIC!) erledigt sein, bevor der Report ausgeführt wird. Wenn eine Sicherheitsrichtlinie nicht implementiert wurde, der Report jedoch versehentlich ausgeführt wurde, können die Einschränkungen nur noch mit SAP* als User rückgängig gemacht werden. In gehärteten Umgebungen steht dieser in der Regel nur nach einem Neustart eines Applikationsservers zur Verfügung.
Schritt 5: Alle Benutzer vom System abmelden
TX SE38, Report RLFW_SD_LOGOFF_USERS
Um keine neuen Einträge in die Anwendungsqueues schreiben zu lassen, müssen die Benutzer abgemeldet werden. Administrative User wie DDIC oder Admins müssen natürlich weiterhin verfügbar sein und dürfen nicht abgemeldet werden.Andererseits müssen einige Benutzer wie Sie selbst und DDIC am Leben erhalten bleiben. Auf dem Selektionsbild des Reports können Sie Benutzer auswählen und ausschließen, die ausgegeben werden sollen.
Der Report kann für verschiedene Zwecke verwendet werden: zum Abbrechen normaler GUI-Sitzungen, zum Deaktivieren von Batch-Schedulern, zum Stoppen aktuell laufender Hintergrundjobs, zum Trennen von RFC-Verbindungen.
Schritt 6: Queues abschließen
TX SE38, Report RLFW_SD_FINALIZE_QUEUES
Dieser Report liefert eine Übersicht über die verbleibenden Queues in einer Tabelle mit Queue-Namen und deren Größe. Wenn eine Queue nicht leer ist, muss sie durch Doppelklick auf die Tabellenzeile überprüft werden.
Am Ende dieses Schritts müssen alle Queues leer sein oder nur Einträge anzeigen, die nach dem Wechsel zu Version 2 verarbeitet werden können. Die Update-Queue MUSS leer sein, da der Queue-Inhalt nicht in das Zielrelease verschoben wird. Details zur Aktualisierungswarteschlange finden Sie auf einer Seite im SAP Help Portal.
Andere Queue-Einträge werden auf Version 2 gebracht und können dort ausgeführt werden, wenn sie kompatibel sind.
Nach dem Systemneustart/Downtime
Schritt 7: Suspendierte Hintergrundjobs freigeben
TX SE38, Report BTCTRNS2
Der Report gibt alle Jobs frei, die im Schritt 2 angehalten wurden (Status Freigegeben/Suspendiert).