Register Login

HANA Services and Ports Interview Questions and Answer

Updated May 20, 2018

FAQ SAP HANA Services and Ports

What are services and ports in SAP HANA?

As part of the SAP HANA instance, all the services running in the context of this SAP document are processes mentioned on operating system. All of the actual work is done by threads which are started within the services.

This SAP document doesn't cover SAP support services for SAP HANA like the Technical Performance Optimization Service (TPO) which have been mentioned in the SAP document 2177604.

All the ports are the network ports which are used for accessing specific services.

What are the indications which exist for SAP HANA services issues?

SQL: "HANA_Configuration_MiniChecks" throws a potentially critical issue (C = 'X') for one of the following individual checks:

Check ID Details
1service Service startup time variation (s)
415 Curr. max. service allocation limit used (%)
580 Tables assigned to wrong service
2130 Inconsistencies between topology and daemon
2230 Slave nodes with dpserver processes

Which conventions are utilized for port numbers?

All the port number related to service follow the numbering convention 3<inst_id><service_port>, where <inst_id> is the SAP HANA instance number and <service_port> is the double-digit port number which is in tune with the service and environment.

Example:

  • Single database
  • SAP HANA instance number 01
  • Indexserver port convention: 03
  • Resulting port number : 30103

Which all services exist in SAP HANA ?

The following services occur in SAP HANA environments ('xx' is a placeholder for the instance ID):

Service Port (single instance) Port (multitenant) Details
daemon 3xx00 3xx00 Monitoring and controlling of SAP HANA instance state
nameserver 3xx01 3xx01

Administrative tasks like:

  • Taking care of topology information
  • Load history collection
  • Monitoring of system replication (with hdbnsutil interface)

System database of multitenant systems:

  • Information about MDC tenants
  • Takeover of standard indexserver tasks for system database (e.g. statistics server monitoring and alerting)
preprocessor 3xx02 3xx02 Text processing tasks, e.g. for text search
indexserver 3xx03 3xx40 and higher

Main SAP HANA service:

  • Owner of row and column store
  • Owner of execution engines for processing database requests
scriptserver 3xx04 3xx40 and higher Execution of C++ AFL libraries
statisticsserver 3xx05 n/a The standalone statistics server is embedded in the indexserver with SAP HANA 1.00.93 and higher, so it no longer exists as a dedicated service.
webdispatcher 3xx06 3xx06 Processing of http requests
xsengine 3xx07

3xx40 and higher

Native SAP HANA application server (XS Classic), will be over time replaced with XS Advanced
hdbrss 3xx09 3xx09

Remote support daemon

Not a real service

compileserver 3xx10 3xx10

Responsible for compilation of procedures

dpserver 3xx11 3xx40 and higher

Smart data integration support

esserver 3xx12 4xx12

Dynamic tiering support

streamingserver 3xx16
3xx26
3xx16
3xx26

Smart data streaming support

diserver 3xx25 3xx05 (systemdb)
3xx25 (migrated tenant)
3xx40 and higher (normal tenant)

Deployment infrastructure (HDI)

xscontroller 3xx29
3xx30
3xx33
3xx29
3xx30
3xx33

XS Advanced (XSA) controller

xsuaaserver 3xx31
3xx32
3xx31
3xx32

XS Advanced (XSA) core service for controller

xsexecagent dynamic dynamic

XS Advanced (XSA) execution agent

You need to be cautious of the fact that deviations can be present from the port mappings described above, e.g.:

Incase, there is more than one indexserver being installed in a single instance, then the port number will be 3xx015 (, 3xx18, ...).

Can SAP HANA parameters be set for any explicit services?

Yes, it is very much possible to configure service specific parameters via the related <service>.ini parameter file (e.g. indexserver.ini for indexserver):

ALTER SYSTEM ALTER CONFIGURATION ('<service>.ini', 'SYSTEM') SET ...

Global configuration for all services can also be made possible via global.ini:

ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ...

Which SAP HANA services utilize a persistence level?

Only a subset of SAP HANA services has the uniqueness to persevere data to disk:

  • nameserver
  • indexserver
  • standalone statistics server
  • scriptserver
  • xsengine
  • dpserver

Other services only work in memory without persisting data to disk.

You can use SQL: "HANA_Topology" (PATH = '/volumes%', NAME = 'servicetype') available via SAP document 1969700 to display services with a persistence. 

Can any single SAP HANA services be restarted during the process of SAP HANA remains up and running?

Yes, the process of restarting single services is possible without impacting the overall SAP HANA database. Although, the effect is typically like the whole SAP HANA database is unavailable, Once the indexserver is restarted.

Do all services have their own dedicated trace files?

Yes, all trace files comprise of the the service in their names.

Example: (Database trace file 7 or indexserver running on host saphana host with port 30003)

indexserver_saphanahost_30003.007.trc

What is the process for calling the services related processes, on operating system level?

In SAP HANA all the service names are prefixed with 'hdb', On the operating system.

> ps -ef | grep hdb

cr1adm   19004 29496  0 May12 ?        01:37:30 hdbnameserver
cr1adm   19093 29496  0 May12 ?        00:43:06 hdbcompileserver
cr1adm   19097 29496  0 May12 ?        00:44:59 hdbpreprocessor
cr1adm   19132 29496  0 May12 ?        01:53:17 hdbdpserver
cr1adm   19134 29496 44 May12 ?        09:58:06 hdbindexserver
cr1adm   19136 29496  0 May12 ?        01:36:05 hdbscriptserver
cr1adm   19138 29496  0 May12 ?        01:46:34 hdbxsengine
cr1adm   20819 29496  0 May12 ?        00:40:39 hdbwebdispatcher

How can SAP HANA keep a track of existing services?

All the existing services have been listed in the daemon.ini configuration file:

Example:

-----------------------------------------------------------------------
|FILE_NAME |SECTION         |PARAMETER_NAME|LAYER_NAME          |VALUE|
-----------------------------------------------------------------------
|daemon.ini|compileserver   |instances     |DEFAULT             |1    |
|daemon.ini|dummyserver     |instances     |DEFAULT             |1    |
|daemon.ini|indexserver     |instances     |DEFAULT             |1    |
|daemon.ini|nameserver      |instances     |DEFAULT             |1    |
|daemon.ini|preprocessor    |instances     |DEFAULT             |1    |
|daemon.ini|sapwebdisp      |instances     |DEFAULT             |0    |
|          |                |              |HOST (saphanahost01)|1    |
|          |                |              |SYSTEM              |1    |
|daemon.ini|scriptserver    |instances     |DEFAULT             |0    |
|daemon.ini|statisticsserver|instances     |DEFAULT             |0    |
|daemon.ini|xsengine        |instances     |DEFAULT             |0    |
|          |                |              |SYSTEM              |1    |
-----------------------------------------------------------------------

Apart from this, the services are also stored in the topology.

Do we have any additional ports used during the case of system replication?

Incase system replication is used, then following additional ports are used:

System type Port System replication port Example
Single instance 3<inst_id><service_port> 3<(inst_id>+1)<service_port> 30003 -> 30103
Multitenant 3<inst_id><service_port> 4<inst_id><service_port> 30040 -> 40040

How will I be able to regulate the information regarding the services of SAP HANA ?

The following information related to SAP HANA can be monitored and you can get specific information related to the services.

Monitoring view SQL statement Details
M_SERVICES SQL: "HANA_Services_Overview" Service overview
M_SERVICE_MEMORY SQL: "HANA_Services_Memory" Service memory utilization
M_SERVICE_REPLICATION SQL: "HANA_Replication_SystemReplication_KeyFigures"
SQL: "HANA_Replication_SystemReplication_Overview"
System replication information
M_SERVICE_STATISTICS SQL: "HANA_Services_Statistics" Service statistics

By using the “HDB info” command which is meant for displaying the SAP HANA processes, you can see the processes which are functioning at present, on the operating system.

Which parameters control the ports and services in SAP HANA ?

Listed below are the parameters in context of services and ports controlled by SAP HANA

Parameter Details
daemon.ini -> [<service>] -> executable
Name of service executable (e.g. 'hdbindexserver' for <service> = 'indexserver')
daemon.ini -> [<service>] -> instances
Number of services to be started 
global.ini -> [multidb] -> reserved_instance_numbers
Possibility to reserved additional ports /instance numbers in multitenant environments
<service>.ini -> [communication] -> listenport
Port assigned to service <service>
<service>.ini -> [httpserver] -> listenport
Dedicated port for http requests


×