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:
|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.
- 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|
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|
3xx40 and higher
|Native SAP HANA application server (XS Classic), will be over time replaced with XS Advanced|
Remote support daemon
Not a real service
Responsible for compilation of procedures
|dpserver||3xx11||3xx40 and higher|| |
Smart data integration support
Dynamic tiering support
Smart data streaming support
|diserver||3xx25||3xx05 (systemdb) |
3xx25 (migrated tenant)
3xx40 and higher (normal tenant)
Deployment infrastructure (HDI)
XS Advanced (XSA) controller
XS Advanced (XSA) core service for controller
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:
- standalone statistics server
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)
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:
|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" |
|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
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|