FAQ SAP HANA Services and Ports
What are the 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 that 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 that are used for accessing specific services.
What are the indications that 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 numbers related to the 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 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:
System database of multitenant systems:
|
preprocessor | 3xx02 | 3xx02 | Text processing tasks, e.g. for text search |
indexserver | 3xx03 | 3xx40 and higher |
Main SAP HANA service:
|
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.:
In case, there is more than one indexserver being installed in a single instance, then the port number will be 3xx015 (, 3xx18, ...).
Which one is the default port for HANA?
Port 30015 is the Default port in SAP HANA
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 persistence.
Can any single SAP HANA service be restarted during the process of SAP HANA remains up and running?
Yes, restarting single services is possible without impacting the overall SAP HANA database. However, the effect is typically like the whole SAP HANA database is unavailable, Once the indexserver is restarted.
What is port 3000 used for?
Post 3000 is used to monitor and control of SAP HANA instance state.
What is port 5000 used for?
Port 50000 is used in devices as a potential point of connection to the device via a method that is referred as pmodem or pseudo modem
Do all services have their 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 the 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 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?
In case system replication is used, then the 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 to display the SAP HANA processes, you can see the processes that are functioning at present, on the operating system.
Which parameters control the ports and services in SAP HANA?
Listed below are the parameters in the 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 reserve 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 |
Explain SAP Hana system replication ports.
A port 10000 is configured to reserve ports for system replication communication for SAP HANA system replication, .