# SAP HANA

# SAP Production Incident – Troubleshooting SAP Router, APP Dispatcher, and HANA Dependency Failure

#   


## Introduction

Recently I handled an SAP Production incident where users were suddenly unable to access critical SAP production services including SAP GUI

At first glance the issue looked like a network or firewall problem because users received a connection refused error when trying to connect to the SAP environment.

However, after tracing the entire SAP landscape step-by-step, the actual issue turned out to be a startup dependency problem involving:

- SAP Router
- SAP Application Dispatcher
- SAP HANA Database
- Web Dispatcher backend connectivity

This article shares the troubleshooting process from infrastructure level until application recovery.

> Note: Hostnames, IP addresses, SID names, and environment details have been anonymized for confidentiality.

<div contenteditable="false" id="bkmrk--1">---

</div># Environment Overview

The SAP production landscape consisted of several separate virtual machines:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17f ͼ17g" contenteditable="false" data-is-code-block-view="true" id="bkmrk-1.-sap-router-vm-2.-"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">1. SAP Router VM</div><div class="cm-line">2. SAP Application VM</div><div class="cm-line">3. SAP Web Dispatcher VM</div><div class="cm-line">4. SAP Database VM</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Architecture flow:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17h ͼ17i" contenteditable="false" data-is-code-block-view="true" id="bkmrk-client-%E2%86%93-sap-router-"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">Client</div><div class="cm-line">↓</div><div class="cm-line">SAP Router</div><div class="cm-line">↓</div><div class="cm-line">SAP APP Dispatcher</div><div class="cm-line">↓</div><div class="cm-line">SAP HANA Database</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div><div contenteditable="false" id="bkmrk--2">---

</div># Initial Symptoms

Users reported:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17j ͼ17k" contenteditable="false" data-is-code-block-view="true" id="bkmrk-sap-gui-connection-f"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">SAP GUI connection failed</div><div class="cm-line">web application inaccessible</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>SAP GUI error:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17l ͼ17m" contenteditable="false" data-is-code-block-view="true" id="bkmrk-partner-%27%3Capp-ip%3E%3A32"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">partner '&lt;APP-IP&gt;:3230' not reached</div><div class="cm-line">Connection refused</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>At this stage there were several possible causes:

- Firewall issue
- NAT issue
- SAP Router down
- Dispatcher down
- Database issue
- SAP service startup failure

<div contenteditable="false" id="bkmrk--3">---

</div># Step 1 – Validate Network Connectivity

Initial external validation was performed using:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17n ͼ17o" contenteditable="false" data-is-code-block-view="true" id="bkmrk-nmap--pn--st--sv-%5C--"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">nmap <span class="ͼ1e">-Pn</span> <span class="ͼ1e">-sT</span> <span class="ͼ1e">-sV</span> \</div><div class="cm-line"><span class="ͼ1e">-p</span> <span class="ͼ1d">3299</span>,3230,3330,50013,50014 &lt;PUBLIC-IP&gt;</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Result:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17p ͼ17q" contenteditable="false" data-is-code-block-view="true" id="bkmrk-3299-closed-3230-clo"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">3299 closed</div><div class="cm-line">3230 closed</div><div class="cm-line">50013 open</div><div class="cm-line">50014 open</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Interesting finding:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17r ͼ17s" contenteditable="false" data-is-code-block-view="true" id="bkmrk-sapcontrol-ports-wer"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">SAPControl ports were alive</div><div class="cm-line">but SAP application ports were closed.</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>This usually means:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17t ͼ17u" contenteditable="false" data-is-code-block-view="true" id="bkmrk-sapstartsrv-running-"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">sapstartsrv running</div><div class="cm-line">but SAP application services not operational</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div><div contenteditable="false" id="bkmrk--4">---

</div># Step 2 – SAP Router Investigation

SAP Router port:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17v ͼ17w" contenteditable="false" data-is-code-block-view="true" id="bkmrk-3299"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">3299</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>was confirmed not listening.

Further inspection on the SAP Router VM revealed that SAP Router was started manually using:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17x ͼ17y" contenteditable="false" data-is-code-block-view="true" id="bkmrk-.%2Fsaprouter--r--s-32"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">./saprouter <span class="ͼ1e">-r</span> <span class="ͼ1e">-s</span> <span class="ͼ1d">3299</span> ...</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>It was not configured as a proper persistent service.

Additional discovery:

The startup script previously used an incorrect parameter:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ17z ͼ180" contenteditable="false" data-is-code-block-view="true" id="bkmrk--s-3299"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line"><span class="ͼ1e">-S</span> <span class="ͼ1d">3299</span></div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>instead of:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ181 ͼ182" contenteditable="false" data-is-code-block-view="true" id="bkmrk--s-3299-1"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line"><span class="ͼ1e">-s</span> <span class="ͼ1d">3299</span></div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>After correcting and starting the service manually:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ183 ͼ184" contenteditable="false" data-is-code-block-view="true" id="bkmrk-.%2Fsaprouter--r--s-32-1"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">./saprouter <span class="ͼ1e">-r</span> <span class="ͼ1e">-s</span> <span class="ͼ1d">3299</span> ...</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Result:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ185 ͼ186" contenteditable="false" data-is-code-block-view="true" id="bkmrk-3299-listen"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">3299 LISTEN</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>SAP Router connectivity was restored successfully.

<div contenteditable="false" id="bkmrk--5">---

</div># Step 3 – SAP APP Instance Investigation

Next, SAP instance status was checked:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ187 ͼ188" contenteditable="false" data-is-code-block-view="true" id="bkmrk-sapcontrol--nr-30--f"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">sapcontrol <span class="ͼ1e">-nr</span> <span class="ͼ1d">30</span> <span class="ͼ1e">-function</span> GetProcessList</div><div class="cm-line">sapcontrol <span class="ͼ1e">-nr</span> <span class="ͼ1d">31</span> <span class="ͼ1e">-function</span> GetProcessList</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Initial status:

## Instance 31

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ189 ͼ18a" contenteditable="false" data-is-code-block-view="true" id="bkmrk-msg_server-gray-enq_"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">msg_server GRAY</div><div class="cm-line">enq_server GRAY</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>## Instance 30

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18b ͼ18c" contenteditable="false" data-is-code-block-view="true" id="bkmrk-disp%2Bwork-gray-gatew"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">disp+work GRAY</div><div class="cm-line">gateway stopped</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Port validation:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18d ͼ18e" contenteditable="false" data-is-code-block-view="true" id="bkmrk-3230-closed"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">3230 CLOSED</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>This explained the SAP GUI connection refusal.

<div contenteditable="false" id="bkmrk--6">---

</div># Step 4 – Recover SAP Central Services

Instance 31 was started first:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18f ͼ18g" contenteditable="false" data-is-code-block-view="true" id="bkmrk-sapcontrol--nr-31--f"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">sapcontrol <span class="ͼ1e">-nr</span> <span class="ͼ1d">31</span> <span class="ͼ1e">-function</span> StartSystem</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Result:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18h ͼ18i" contenteditable="false" data-is-code-block-view="true" id="bkmrk-msg_server-green-enq"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">msg_server GREEN</div><div class="cm-line">enq_server GREEN</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>However, instance 30 still failed to become healthy.

<div contenteditable="false" id="bkmrk--7">---

</div># Step 5 – Dispatcher Failure Analysis

Dispatcher logs were analyzed:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18j ͼ18k" contenteditable="false" data-is-code-block-view="true" id="bkmrk-cd-%2Fusr%2Fsap%2F%3Csid%3E%2Fd3"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line"><span class="ͼ17">cd</span> /usr/sap/&lt;SID&gt;/D30/work</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Important logs:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18l ͼ18m" contenteditable="false" data-is-code-block-view="true" id="bkmrk-dev_disp-sapstart.lo"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">dev_disp</div><div class="cm-line">sapstart.log</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Critical error found:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18n ͼ18o" contenteditable="false" data-is-code-block-view="true" id="bkmrk-dpwpcheck%3A-no-more-w"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">DpWpCheck: no more work processes</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Multiple work processes terminated unexpectedly.

At this point the investigation shifted toward database dependency.

<div contenteditable="false" id="bkmrk--8">---

</div># Step 6 – HANA Database Investigation

HANA status check:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18p ͼ18q" contenteditable="false" data-is-code-block-view="true" id="bkmrk-hdb-info"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">HDB info</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Result:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18r ͼ18s" contenteditable="false" data-is-code-block-view="true" id="bkmrk-hana-services-not-fu"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">HANA services not fully running</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Important HANA services such as:

- nameserver
- indexserver
- xsengine

were unavailable.

This explained why:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18t ͼ18u" contenteditable="false" data-is-code-block-view="true" id="bkmrk-sap-app-work-process"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">SAP APP work processes failed during startup.</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>The SAP dispatcher depended on HANA connectivity.

<div contenteditable="false" id="bkmrk--9">---

</div># Step 7 – Start HANA Database

Database services were started manually:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18v ͼ18w" contenteditable="false" data-is-code-block-view="true" id="bkmrk-hdb-start"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">HDB <span class="ͼ17">start</span></div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>After startup:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18x ͼ18y" contenteditable="false" data-is-code-block-view="true" id="bkmrk-hana-processes-becam"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">HANA processes became active</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Ports became available again.

<div contenteditable="false" id="bkmrk--10">---

</div># Step 8 – Recover SAP APP Instance

After HANA became healthy:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ18z ͼ190" contenteditable="false" data-is-code-block-view="true" id="bkmrk-sapcontrol--nr-30--f-1"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">sapcontrol <span class="ͼ1e">-nr</span> <span class="ͼ1d">30</span> <span class="ͼ1e">-function</span> StartSystem</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Result:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ191 ͼ192" contenteditable="false" data-is-code-block-view="true" id="bkmrk-disp%2Bwork-green-gwrd"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">disp+work GREEN</div><div class="cm-line">gwrd GREEN</div><div class="cm-line">icman GREEN</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Port validation:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ193 ͼ194" contenteditable="false" data-is-code-block-view="true" id="bkmrk-3230-listen"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">3230 LISTEN</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>SAP GUI connectivity was restored.

<div contenteditable="false" id="bkmrk--11">---

</div># Step 9 – Verify Web Dispatcher

Web Dispatcher status:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ195 ͼ196" contenteditable="false" data-is-code-block-view="true" id="bkmrk-sapcontrol--nr-00--f"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="shell" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">sapcontrol <span class="ͼ1e">-nr</span> <span class="ͼ1d">00</span> <span class="ͼ1e">-function</span> GetProcessList</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Initially:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ197 ͼ198" contenteditable="false" data-is-code-block-view="true" id="bkmrk-yellow"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">YELLOW</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Later:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ199 ͼ19a" contenteditable="false" data-is-code-block-view="true" id="bkmrk-green"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">GREEN</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Backend connectivity recovered automatically after APP and HANA services became available.

Web application login page became accessible again.

<div contenteditable="false" id="bkmrk--12">---

</div># Root Cause Analysis

The incident was ultimately caused by:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ19b ͼ19c" contenteditable="false" data-is-code-block-view="true" id="bkmrk-several-sap-services"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">Several SAP services did not auto-start properly</div><div class="cm-line">after system startup/reboot.</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>Affected components:

- SAP Router service
- SAP HANA Database services
- SAP APP dispatcher dependency chain

Impact chain:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ19d ͼ19e" contenteditable="false" data-is-code-block-view="true" id="bkmrk-hana-db-not-running-"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">HANA DB not running</div><div class="cm-line">↓</div><div class="cm-line">SAP APP work processes failed</div><div class="cm-line">↓</div><div class="cm-line">Dispatcher shutdown</div><div class="cm-line">↓</div><div class="cm-line">Port 3230 unavailable</div><div class="cm-line">↓</div><div class="cm-line">SAP GUI connection refused</div><div class="cm-line">↓</div><div class="cm-line">Web Dispatcher backend degraded</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div><div contenteditable="false" id="bkmrk--13">---

</div># Key Lessons Learned

## 1. Open SAPControl Port Does Not Mean SAP Is Healthy

Ports like:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ19f ͼ19g" contenteditable="false" data-is-code-block-view="true" id="bkmrk-50013-50014"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">50013</div><div class="cm-line">50014</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>may still be reachable even when SAP applications are completely down.

Because:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ19h ͼ19i" contenteditable="false" data-is-code-block-view="true" id="bkmrk-sapstartsrv-can-rema"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">sapstartsrv can remain alive independently.</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div><div contenteditable="false" id="bkmrk--14">---

</div>## 2. SAP Startup Dependency Order Matters

Correct startup sequence:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ19j ͼ19k" contenteditable="false" data-is-code-block-view="true" id="bkmrk-1.-hana-database-2.-"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">1. HANA Database</div><div class="cm-line">2. ASCS / Message Server</div><div class="cm-line">3. APP Dispatcher</div><div class="cm-line">4. Web Dispatcher</div><div class="cm-line">5. SAP Router</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>If APP starts before HANA:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ19l ͼ19m" contenteditable="false" data-is-code-block-view="true" id="bkmrk-work-processes-may-t"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">work processes may terminate immediately.</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div><div contenteditable="false" id="bkmrk--15">---

</div>## 3. SAP Router Should Use Proper Service Management

Running SAP Router manually from shell sessions is risky.

Better approach:

- systemd service
- persistent startup
- automatic recovery

<div contenteditable="false" id="bkmrk--16">---

</div>## 4. Dispatcher Logs Are Extremely Important

The key clue came from:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ19n ͼ19o" contenteditable="false" data-is-code-block-view="true" id="bkmrk-dev_disp"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">dev_disp</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>which clearly showed:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ19p ͼ19q" contenteditable="false" data-is-code-block-view="true" id="bkmrk-all-work-processes-t"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">all work processes terminated</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>without that log analysis, troubleshooting could easily remain focused on networking instead of backend dependencies.

<div contenteditable="false" id="bkmrk--17">---

</div># Final Status

All SAP services recovered successfully:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ19r ͼ19s" contenteditable="false" data-is-code-block-view="true" id="bkmrk-%5Bok%5D-sap-router-runn"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">[OK] SAP Router running</div><div class="cm-line">[OK] HANA running</div><div class="cm-line">[OK] SAP APP healthy</div><div class="cm-line">[OK] Dispatcher GREEN</div><div class="cm-line">[OK] Web Dispatcher GREEN</div><div class="cm-line">[OK] SAP GUI accessible</div><div class="cm-line">[OK] Web application accessible</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div><div contenteditable="false" id="bkmrk--18">---

</div># Conclusion

This incident demonstrated how SAP outages can initially look like simple network issues while the real root cause actually exists deep in service dependency chains.

The troubleshooting flow that worked best was:

<div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ19t ͼ19u" contenteditable="false" data-is-code-block-view="true" id="bkmrk-network-%E2%86%92-sap-router"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-multiline="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">Network</div><div class="cm-line">→ SAP Router</div><div class="cm-line">→ SAP Instance</div><div class="cm-line">→ Dispatcher Logs</div><div class="cm-line">→ HANA Dependency</div><div class="cm-line">→ Service Recovery</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer"><div class="cm-cursor cm-cursor-primary">  
</div></div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div>In complex SAP environments, understanding the startup relationship between routing services, application dispatcher services, web dispatcher services, and backend databases is critical for fast recovery and accurate root cause analysis.