Um zu gewährleisten, dass beim Beenden einer SAP-Instanz keine Anfragen oder Daten verloren gehen, verwenden Sie die Funktion „Soft-Shutdown“, die oft auch als „Graceful Shutdown“ bezeichnet wird. Beim Soft-Shutdown wird in einer bestimmten Reihenfolge auf das Ende von Transaktionen gewartet. Manche dieser Zustände haben einen Timeout (konfigurierbar über Profilparameter), andere nicht.
Die folgende Abbildung zeigt den Ablauf des Soft-Shutdowns bei einer Dual-Stack.Instanz (mit Application Server ABAP und Application Server Java). Handelt es sich um eine AS-ABAP-Instanz ohne AS Java, entfallen die Zustände J2EE_SHUTDOWN, WAIT_FOR_END_OF_J2EE und J2EE_HARD_SHUTDOWN.
Die folgende Übersicht beschreibt die Aktionen des Systems in den verschiedenen Zuständen.
Zustand |
Beschreibung |
Wartezeit |
---|---|---|
CHECK_SERVER |
Prüfung, ob der Server beendet werden kann |
ja |
CHANGE_STATE |
Wechsel des Server-Zustandes (in der Serverübersicht, Transaktion SM51 zu sehen) von aktiv nach shutdown. |
nein |
WAIT_FOR_LOAD_BALANCE_UPDATE |
Warten, bis RFC/HTTP-Clients den Server bei Aufrufen mit Lastausgleich ( „load balancing“) nicht mehr berücksichtigen. Die Wartezeit wird durch den Parameter rdisp/shutdown/load_balance_wait_time begrenzt. |
Timeout konfigurierbar |
J2EE_SHUTDOWN |
Beenden des AS Java (JEE Engine) veranlassen (sofern aktiv) |
nein |
DISABLE_EXTERNAL_LOGIN |
Externe Logins (SAP GUI) nicht mehr zulassen, falls der Parameter rdisp/shutdown/disable_gui_login = on gesetzt ist |
nein |
DISABLE_SCHEDULES |
Internes Scheduling (Batch-Jobs, BG-RFC, QRFC) deaktivieren |
nein |
WAIT_FOR_END_OF_LONGRUNNER |
Auf das Ende der Langläufer (Batch, Verbuchung usw.) warten (ohne Timeout) |
ja |
WAIT_FOR_END_OF_EXCLUSIVE_ACTIONS |
Auf das Anstarten der exklusiven Aktionen warten. Dies sind einmalige Bereinigungsaktionen im SAP-Kernel und der ABAP-Laufzeitumgebung, die zu Beginn des Shutdowns angestartet wurden. Das Warten auf das Lesen der ABAP-Aktionen kann durch den Parameter rdisp/shutdown/abap_trigger_timeout konfiguriert werden. |
Timeout konfigurierbar |
WAIT_FOR_END_OF_SESSIONS |
Auf das Ende der aktiven Sitzungen warten. Für Online-Sitzungen kann mit dem Parameter rdisp/shutdown/gui_auto_logout ein automatisches Abmelden aktiviert werden. Wenn der Soft-Shutdown aktiv ist, erhalten Online-Sitzungen periodisch ein Pop-Up mit der Aufforderung, sich abzumelden. Die Häufigkeit kann mit dem Parameter rdisp/shutdown/message_frequency konfiguriert werden. |
nein |
TERMINATE_PERIODIC_TASKS |
Alle Kernel-internen periodischen Aufgaben (z.B. AUTOABAP, BUFFER-REFRESH) werden nicht mehr angestartet |
nein |
WAIT_FOR_END_OF_J2EE |
Falls der AS Java aktiv ist, wird hier auf das Beenden des AS Java gewartet, das im Zustand J2EE_SHUTDOWN angestoßen wurde. Die maximale Wartezeit kann mit dem Parameter rdisp/shutdown/j2ee_timeout konfiguriert werden. |
Timeout konfigurierbar |
J2EE_HARD_SHUTDOWN |
Falls aktiv, wird der AS Java hart beendet |
nein |
CLOSE_LISTEN_PORTS |
Ports zur GUI, RFC- und HTTP-Kommunikation schließen |
nein |
WAIT_FOR_IDLE_WPS |
Darauf warten, dass alle Workprozesse im Zustand "wartet" sind und sich keine weiteren Requests in der Dispatcher-Queue befinden. Die maximale Wartezeit kann mit dem Parameter rdisp/shutdown/idle_wp_timeout konfiguriert werden. |
Timeout konfigurierbar |
HALT |
Instanz beenden und Ressourcen bereinigen |
nein |
Da manche Zustände keinen Timeout haben, kann nicht garantiert werden, dass der Softshutdown in einer bestimmten Zeitspanne (Summe aller Timeouts) terminiert.