SAP HANA 2.0, express edition and Applications installation on Linux
In this blog we will perform all steps needed to install SAP HANA 2.0, express edition and Applications on a RedHat Enterprise Linux 8.10 VM. We do everything from downloading the software until we are able to login to the system and use it.
Table of Contents
Preparing the installation
We need a Linux VM. In my case I use a RHEL 8.10 VirtualBox virtual machine. The installation is described in this post. To satisfy the memory requirements we need to increase the memory of the VM to 24 GB (my host machine has 32 GB). Run this on the VirtualBox host system:
set "VHOST="
(set /p VHOST=Enter VM name ^(e.g. lin1^):
call vboxmanage controlvm %VHOST% shutdown &rem Power down the VM and wait
timeout /T 10 /NOBREAK
call vboxmanage modifyvm %VHOST% --memory=24576 &rem Set the VM RAM to 24 GB
call vboxmanage startvm %VHOST%) &rem Power up the Virtual Machine
Next we will extend the swap space to 12 GB total in total . Run this in a Linux terminal:
# run this in the Linux VM
dd if=/dev/zero of=/swapfile bs=1024 count=11534336 # create a 11 GB swapfile
mkswap /swapfile && chmod 0600 /swapfile && swapon /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
swapon
To get access to the RedHat SAP software repositories we need to start the 60 day trial of Red Hat Enterprise Linux for SAP Solutions.
Downloading and unpacking the software
First we need to download the SAP HANA 2.0 express download manager from SAP. Select the Linux DM and place it in the folder /sw/sap/HANA. Then start the download manager from the Linux VM and download the following files. Since /sw is a share from the Windows host this will be done only once and we can reuse the installer files whenever we install a new VM.
cd /sw/sap/HANA
# unpacking the server sw
for i in Getting_Started_HANAexpress_Binary_Installer.pdf hxe.tgz hxexsa.tgz eml.tgz apl.tgz clients_linux_x86_64.tgz clients_windows.zip sdi.tgz dpagent_linux_x86_64.tgz dpagent_windows.zip ; do
if [ ! -f ./$i ] ; then
./HXEDownloadManager_linux.bin -d /sw/sap/HANA linuxx86_64 installer $i
fi
done
# unpacking the client sw
if [ ! -d ./clients_windows ] ; then
unzip -q ./clients_windows.zip -d ./clients_windows && cd clients_windows
unzip -q ./hdb_client_windows_x86_64.zip
unzip -q ./xs.onpremise.runtime.client_ntamd64.zip -d xsrtc && cd
fi
Next we unpack the software to the directory /hdb on the Linux VM:
cd && mkdir /hdb ; cd /hdb
for i in hxe.tgz hxexsa.tgz eml.tgz sdi.tgz apl.tgz ; do echo $i ; tar xzf /sw/sap/HANA/$i ; done
We subscribe the machine to be able to use the SAP repositories:
subscription-manager repos --disable="*" --enable="rhel-8-for-$(uname -m)-baseos-rpms" \
--enable="rhel-8-for-$(uname -m)-appstream-rpms" --enable="rhel-8-for-$(uname -m)-sap-solutions-rpms" \
--enable="rhel-8-for-$(uname -m)-sap-netweaver-rpms"
Installing SAP HANA 2.0, express edition and Applicatons
Now let’s start the installation with:
# update the repo subscriptions to get access to the SAP repos
subscription-manager refresh
# install required OS packages
dnf -y install libatomic numactl compat-sap-c++-11.x86_64 libcanberra-gtk2.x86_64
# start the installer
cd /hdb
cat << EOF | ./setup_hxe.sh
y
all
SapSap99
SapSap99
n
n
n
y
EOF
This answers the questions of the installer with the following answers:
Would you like to install these packages (Y/N): y HANA, express edition installer root directory [/hdb/HANA_EXPRESS_20]: <press Enter> Enter SAP HANA system ID [HXE]: <press Enter> Enter instance number [90]: <press Enter> Component [all]: all Enter local host name [lin1.fritz.box]: <press Enter> Enter HDB master password: SapSap99 Confirm “HDB master” password: SapSap99 Do you need to use proxy server to access the internet? [N] : <press Enter> Install SAP HANA smart data integration? (Y/N) : n Install SAP HANA External Machine Learning Library? (Y/N) : n Install SAP HANA Automated Predictive Library? (Y/N) : n Proceed with installation? (Y/N) : y |
After answering the last question the installation begins. This will take approximately 2 hours to complete. After that we will disable the sending of telemetry data and install the remaining components (eml and sap_afl_sdk_apl):
# disable collecting and sending of telemetry data
su - hxeadm -c '/usr/sap/HXE/home/bin/hxe_telemetry.sh -p SapSap99 -b'
# add hxeadm to vboxsf group
usermod -a -G vboxsf hxeadm
# install components eml and sap_afl_sdk_apl
cat << EOF | /hana/shared/HXE/hdblcm/hdblcm
8
/hdb
4,6
y
SapSap99
y
EOF
# sleep for 5 minutes so that the upcoming garbage collection succeeds
sleep 300
This answers the questions as follows:
Enter selected action index [10]: 8 Enter comma-separated list of the selected indices [2,3,5]: 4,6 continue? (y/n) [n]: y Enter System Database User Name [SYSTEM]: <press Enter> Enter System Database User (SYSTEM) Password: SapSap99 Do you want to continue? (y/n): y |
Next we install SAP SDI (Smart Data Integration) by running:
# before running the install we should perform a Garbage Collection to reduce the current memory consumption
su - hxeadm -c 'echo SapSap99|/usr/sap/HXE/home/bin/hxe_gc.sh'
cat << EOF | su - hxeadm -c /hdb/HANA_EXPRESS_20/install_sdi.sh
SapSap99
SapSap99
y
EOF
This answers the questions:
Enter HANA instance number [90]: <press Enter> Enter local host name [lin1.fritz.box]: <press Enter> Enter System database user (SYSTEM) password : SapSap99 Enter name of tenant database to add smart data integration [HXE]: <press Enter> Enter “HXE” database system user (SYSTEM) password : SapSap99 Proceed with installation? (Y/N) : Y |
Installing SAP HANA Windows clients
The SAP HANA clients will be installed on a separate Windows machine. We can install a Windows VM for that.
SAP HANA database client
rem run on the Windows client machine
C:\sw\sap\HANA\clients_windows\HDB_CLIENT_WINDOWS_X86_64\hdbinst.exe --batch
setx PATH "C:\Program Files\sap\hdbclient;%PATH%"
rem command prompt needs to be reopened for the path change to take effect
timeout /T 5 /NOBREAK
exit
XS CLI client
The CA certificate needs to be copied to a location reachable from the Windows client:
rm -f /sw/sap/HANA/default.root.crt.pem
cp /hana/shared/HXE/xs/controller_data/controller/ssl-pub/router/default.root.crt.pem /sw/sap/HANA/
The zip file has already been unpacked here, we need to add the path to the Windows Environment Variable PATH and import the CA certificate:
echo set /p SHOST=Enter the name of the SAP HANA server machine ^^(e.g. lin1.fritz.box^^): >%TMP%\scr.bat
echo setx PATH "C:\sw\sap\HANA\clients_windows\xsrtc\bin;%PATH^%" >>%TMP%\scr.bat
echo C:\sw\sap\HANA\clients_windows\xsrtc\bin\xs api https://%SHOST^%:39030 --cacert "c:\sw\sap\HANA\default.root.crt.pem" ^&^^>>%TMP%\scr.bat
echo C:\sw\sap\HANA\clients_windows\xsrtc\bin\xs login -u xsa_admin -p SapSap99 >>%TMP%\scr.bat
@%TMP%\scr.bat
Reopen the command prompt for the PATH changes to take effect.
System Accounts
Username | Password | Remark |
root | changeme | OS user |
hxeadm | SapSap99 | Operating System administrator (OS) |
sapadm | SapSap99 | SAP Host Agent administrator (OS) |
SYSTEM | SapSap99 | Database superuser |
XSA_ADMIN | SapSap99 | XS Advanced Administration User |
XSA_DEV | SapSap99 |
Accessing the system
- SAP HANA XS Advanced Cockpit (login as xsa_admin, shows XS apps and URLs to access the apps)
- SAP HANA Cockpit (login as xsa_admin, administration, monitoring, and maintenance of SAP HANA)
- SAP Web IDE (login as xsa_dev, Browser based IDE)
- With the SAP HANA database client on the Windows machine:
hdbsql -n lin2.fritz.box:39015 -u system -p SapSap99
Sample Output
C:\Users\User1>hdbsql -n lin2.fritz.box:39015 -u system -p SapSap99
Welcome to the SAP HANA Database interactive terminal.
Type: \h for help with commands
\q to quit
hdbsql HXE=>
- With the XS CLI client:
xs apps
Sample Output
C:\Users\User1>xs apps
Getting apps in org "HANAExpress" / space "SAP" as xsa_admin...
Found apps:
name requested state instances tasks memory disk alerts urls
---------------------------------------------------------------------------------------------------------------------------------
auditlog-broker STARTED 1/1 - 64.0 MB <unlimited> https://lin2.fritz.box:51003
auditlog-db STOPPED 0/1 - 16.0 MB <unlimited> <none>
auditlog-server STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51002
cockpit-admin-web-app STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51045
cockpit-adminui-svc STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51044
cockpit-collection-svc STARTED 1/1 - 768 MB <unlimited> https://lin2.fritz.box:51037
cockpit-flp-content STOPPED 0/1 - 32.0 MB <unlimited> <none>
cockpit-hdb-svc STARTED 1/1 - 768 MB <unlimited> https://lin2.fritz.box:51039
cockpit-hdbui-svc STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51041
cockpit-js-svc STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51049
cockpit-landscape-svc STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51040
cockpit-message-svc STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51036
cockpit-persistence-svc STARTED 1/1 - 1.00 GB <unlimited> https://lin2.fritz.box:51038
cockpit-rule-svc STARTED 1/1 - 1.00 GB <unlimited> https://lin2.fritz.box:51048
cockpit-telemetry-svc STARTED 1/1 - 768 MB <unlimited> https://lin2.fritz.box:51047
cockpit-ui5-svc STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51050
cockpit-web-app STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51043
cockpit-xsa-svc STARTED 1/1 - 768 MB <unlimited> https://lin2.fritz.box:51046
deploy-service STARTED 1/1 - 320 MB <unlimited> https://lin2.fritz.box:51004
devx-ui5 STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51021
di-core STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51020
di-local-npm-registry STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51017
di-runner STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51022
di-space-enablement-ui STOPPED 0/1 - 16.0 MB <unlimited> https://lin2.fritz.box:51023
hrtt-core STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51009
hrtt-sapui5 STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51008
hrtt-service STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51007
jobscheduler-backend STOPPED 0/1 - 256 MB <unlimited> https://lin2.fritz.box:51030
jobscheduler-broker STOPPED 0/1 - 256 MB <unlimited> https://lin2.fritz.box:51029
jobscheduler-dashboard STOPPED 0/1 - 256 MB <unlimited> https://lin2.fritz.box:51031
jobscheduler-db STOPPED 0/1 - 256 MB <unlimited> <none>
jobscheduler-rest STOPPED 0/1 - 256 MB <unlimited> https://lin2.fritz.box:51027
jobscheduler-service STOPPED 0/1 - 512 MB <unlimited> https://lin2.fritz.box:51028
messaging-service-broker STOPPED 0/1 - 64.0 MB <unlimited> https://lin2.fritz.box:51012
messaging-service-hub STOPPED 0/1 - 1.00 GB <unlimited> tcps://lin2.fritz.box:51010
messaging-service-node STOPPED 0/1 - 1.00 GB <unlimited> tcps://lin2.fritz.box:51011
product-installer STARTED 1/1 - 375 MB <unlimited> https://lin2.fritz.box:51005
sap-portal-persistency STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51015
sap-portal-static-resources STARTED 1/1 - 1.00 GB <unlimited> https://lin2.fritz.box:51016
sapui5_fesv6 STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51032
sapui5_fesv9 STARTED 1/1 - 384 MB <unlimited> https://lin2.fritz.box:51033
sapui5_sb STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51034
tools STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51024
webide STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:53075
xsa-cockpit STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51035
C:\Users\User1>
Basic Administration of SAP HANA 2.0, express edition and Applications
Starting and Stopping the system
# To start the SAP HANA database run:
su - hxeadm -c 'HDB start'
Sample Output
[root@lin1 ~]# su - hxeadm -c 'HDB start'
StartService
OK
OK
Starting instance using: /usr/sap/HXE/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr 90 -function StartWait 2700 2
22.01.2025 09:16:33
Start
OK
22.01.2025 09:23:38
StartWait
OK
# To stop the SAP HANA database run:
su - hxeadm -c 'HDB stop'
Sample Output
[root@lin1 ~]# su - hxeadm -c 'HDB stop'
hdbdaemon will wait maximal 300 seconds for NewDB services finishing.
Stopping instance using: /usr/sap/HXE/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr 90 -function Stop 400
22.01.2025 09:14:17
Stop
OK
Waiting for stopped instance using: /usr/sap/HXE/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr 90 -function WaitforStopped 600 2
22.01.2025 09:15:03
WaitforStopped
OK
hdbdaemon is stopped.
# To get the running processes of the SAP HANA system:
su - hxeadm -c 'HDB info'
Sample Output
hxeadm@lin2.fritz:/usr/sap/HXE/HDB90> HDB info
USER PID PPID %CPU VSZ RSS COMMAND
hxeadm 41315 41314 0.0 226556 5476 -bash
hxeadm 43117 41315 0.0 222860 3412 \_ /bin/sh /usr/sap/HXE/HDB90/HDB info
hxeadm 43150 43117 0.0 257684 3884 \_ ps fx -U hxeadm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10,rss:10,args
hxeadm 5821 1 0.0 26004 1488 sapstart pf=/usr/sap/HXE/SYS/profile/HXE_HDB90_lin2.fritz.box
hxeadm 5866 5821 0.0 375308 74716 \_ /usr/sap/HXE/HDB90/lin2.fritz.box/trace/hdb.sapHXE_HDB90 -d -nw -f /usr/sap/HXE/HDB90/lin2.fritz.box/daemon.ini pf=/usr/sap/HXE/SYS/profile/HXE_HDB90_lin2.fritz.box
hxeadm 6274 5866 86.9 7201988 4891148 \_ hdbnameserver
hxeadm 9884 5866 0.7 354416 172408 \_ hdbcompileserver
hxeadm 9904 5866 1.4 2161184 1079392 \_ hdbdpserver -port 39040
hxeadm 9907 5866 33.6 5985008 3916248 \_ hdbindexserver -port 39003
hxeadm 10213 5866 0.4 760936 315232 \_ hdbdiserver
hxeadm 10216 5866 0.4 996616 529116 \_ hdbwebdispatcher
hxeadm 10219 5866 17.7 1125028 439092 \_ /hana/shared/HXE/xs/bin/xscontroller -Xmx128m -Xms64m -XX:ThreadStackSize=256 -XX:ReservedCodeCacheSize=64m -XX:MetaspaceSize=64m -XX:MaxGCThreads=2 -XX:MaxErrorQueueLength=1
hxeadm 11716 10219 0.3 1644928 310600 | \_ /hana/shared/HXE/xs/router/webdispatcher/sapwebdisp pf=/hana/shared/HXE/xs/controller_data/controller/router/webdispatcher/conf/sapwebdisp.pfl -f /hana/shared/HXE/xs/cont
hxeadm 14319 10219 0.6 945864 204812 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomcat/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 14873 10219 0.7 1019356 299916 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomee7/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 15110 10219 1.7 1050848 467264 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomcat/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 15661 10219 2.3 1028008 487704 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomcat/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 16622 10219 0.0 1006156 27892 | \_ node server.js
hxeadm 17264 10219 0.0 649528 38932 | \_ node index.js
hxeadm 17814 10219 0.0 222740 2796 | \_ /bin/bash /hana/shared/HXE/xs/app_working/embedded_execagent/executionroot/4d430e8a-65d6-4855-bb3d-79224bb46941/startCommand
hxeadm 17819 17814 0.1 4541676 100872 | | \_ node --max_old_space_size=384 main.js
hxeadm 18608 10219 0.0 1430420 66332 | \_ node --harmony server.js
hxeadm 18635 10219 2.5 1410088 543780 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomcat/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 19177 10219 1.7 1343764 439568 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomcat/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 19450 10219 0.0 222764 2872 | \_ /bin/bash /hana/shared/HXE/xs/app_working/embedded_execagent/executionroot/cc619791-8c3f-4069-a62a-7aea995b500f/startCommand
hxeadm 19452 19450 0.0 669420 41884 | | \_ node --max_old_space_size=192 server.js
hxeadm 21041 10219 0.0 1192916 58648 | \_ node node_modules/@sap/approuter/approuter.js
hxeadm 21420 10219 0.0 222736 3340 | \_ /bin/sh ./startup.sh
hxeadm 21525 21420 0.0 665200 79680 | | \_ verdaccio
hxeadm 23725 10219 0.4 790564 126312 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomcat/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 24020 10219 2.4 1786524 584832 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomee7/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 26187 10219 0.0 620200 56736 | \_ node start.js
hxeadm 27388 10219 0.0 619944 56920 | \_ node start.js
hxeadm 27476 10219 3.0 1523832 695052 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomee7/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 27847 10219 0.9 1435756 368500 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomee7/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 28624 10219 0.9 1728744 484996 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomee7/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 29426 10219 0.0 875684 76404 | \_ node service.js
hxeadm 30122 10219 0.0 631408 60724 | \_ node start.js
hxeadm 30613 10219 0.0 638768 67828 | \_ node application.js
hxeadm 31236 10219 1.2 999864 118000 | \_ node start.js
hxeadm 31398 10219 0.7 1403200 337988 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomee7/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 32479 10219 0.0 772804 91148 | \_ node --harmony application.js
hxeadm 32496 10219 1.8 981540 378992 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomcat/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 32816 10219 0.0 637744 67824 | \_ node application.js
hxeadm 32837 10219 0.0 660616 72728 | \_ node node_modules/@sap/approuter/approuter.js
hxeadm 33004 10219 0.7 1184208 286540 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomee7/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 33396 10219 0.0 638512 66828 | \_ node application.js
hxeadm 33437 10219 0.7 1410020 340592 | \_ META-INF/.sap_java_buildpack/sapjvm/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomee7/conf/logging.properties -Djava.util.logging.manager=org.a
hxeadm 33728 10219 0.0 699044 77544 | \_ node node_modules/@sap/approuter/approuter.js
hxeadm 34369 10219 1.6 1048888 330704 | \_ META-INF/.sap_java_buildpack/sapjvmjdk/bin/java -Djava.util.logging.config.file=META-INF/.sap_java_buildpack/tomcat/conf/logging.properties -Djava.util.logging.manager=or
hxeadm 10222 5866 3.8 4894184 739524 \_ /hana/shared/HXE/xs/bin/xsuaaserver -Djava.util.logging.config.file=/hana/shared/HXE/xs/bin/../uaaserver/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache
hxeadm 3010 1 0.0 486252 23224 /usr/sap/HXE/HDB90/exe/sapstartsrv pf=/usr/sap/HXE/SYS/profile/HXE_HDB90_lin2.fritz.box
hxeadm@lin2.fritz:/usr/sap/HXE/HDB90>
Using hdblcm
We can use the SAP HANA database lifecycle manager (hdblcm) to install, update and configure the SAP HANA system. We can start it like that:
/hana/shared/HXE/hdblcm/hdblcm
Index | Action | Description
-------------------------------------------------------------------------------------------------
1 | check_installation | Check SAP HANA Express Edition Installation
2 | extract_components | Extract Components
3 | print_detected_components | Print Detected Components
4 | rename_system | Rename the SAP HANA Express Edition System
5 | uninstall | Uninstall SAP HANA Express Edition Components
6 | unregister_system | Unregister the SAP HANA Express Edition System
7 | update | Update the SAP HANA Express Edition System
8 | update_components | Install or Update Additional Components
9 | update_host | Update the SAP HANA Express Edition Instance Host integration
10 | exit | Exit (do nothing)
Or to start hdblcm in GUI Mode run:
# as the root user start a X terminal
/hana/shared/HXE/hdblcm/hdblcmgui
Get the SAP HANA version
su - hxeadm -c 'HDB version'
Sample Output
[root@lin2 router]# su – hxeadm -c ‘HDB version’
HDB version info:
version: 2.00.076.00.1705400033
branch: fa/hana2sp07
machine config: linuxx86_64
git hash: 40ed22415272c48199e71c8b111a2965ad0be27e
git merge time: 2024-01-16 11:13:53
weekstone: 0000.00.0
cloud edition: 0000.00.00
compile date: 2024-01-16 11:25:08
compile host: ld4552
compile type: rel
version: 2.00.076.00.1705400033 means:
2.00 = SAP HANA version 2.0
07 = Support Package Stack (SPS) 07
76 = Revision 76
00 = Maintenance Revision 00 or patch number 00
1705400033 = build number
XS Applications
- Test if the XS Engine is running: http://hostname:80<instance number>. This should show:

List all XS applications, individial XS apps and stop/start individual apps (as user hxeadm):
# login (has to be done once)
echo SapSap99|xs-admin-login
# list all xs apps
xs apps
# show the status of one app
xs app xsa-cockpit
# restart an app
xs restart xsa-cockpit
# tail -f on a xs app
xs logs xsa-cockpit
Sample Output
hxeadm@lin2.fritz:/usr/sap/HXE/HDB90> echo SapSap99|xs-admin-login
API_URL: https://lin2.fritz.box:39030
USERNAME: XSA_ADMIN
Authenticating...
ORG: HANAExpress
SPACE: SAP
API endpoint: https://lin2.fritz.box:39030 (API version: 1)
User: XSA_ADMIN
Org: HANAExpress
Space: SAP
hxeadm@lin2.fritz:/usr/sap/HXE/HDB90> xs apps
Getting apps in org "HANAExpress" / space "SAP" as XSA_ADMIN...
Found apps:
name requested state instances tasks memory disk alerts urls
---------------------------------------------------------------------------------------------------------------------------------
auditlog-broker STARTED 1/1 - 64.0 MB <unlimited> https://lin2.fritz.box:51003
auditlog-db STOPPED 0/1 - 16.0 MB <unlimited> <none>
auditlog-server STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51002
cockpit-admin-web-app STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51045
cockpit-adminui-svc STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51044
cockpit-collection-svc STARTED 1/1 - 768 MB <unlimited> https://lin2.fritz.box:51037
cockpit-flp-content STOPPED 0/1 - 32.0 MB <unlimited> <none>
cockpit-hdb-svc STARTED 1/1 - 768 MB <unlimited> https://lin2.fritz.box:51039
cockpit-hdbui-svc STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51041
cockpit-js-svc STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51049
cockpit-landscape-svc STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51040
cockpit-message-svc STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51036
cockpit-persistence-svc STARTED 1/1 - 1.00 GB <unlimited> https://lin2.fritz.box:51038
cockpit-rule-svc STARTED 1/1 - 1.00 GB <unlimited> https://lin2.fritz.box:51048
cockpit-telemetry-svc STARTED 1/1 - 768 MB <unlimited> https://lin2.fritz.box:51047
cockpit-ui5-svc STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51050
cockpit-web-app STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51043
cockpit-xsa-svc STARTED 1/1 - 768 MB <unlimited> https://lin2.fritz.box:51046
deploy-service STARTED 1/1 - 320 MB <unlimited> https://lin2.fritz.box:51004
devx-ui5 STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51021
di-core STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51020
di-local-npm-registry STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51017
di-runner STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51022
di-space-enablement-ui STOPPED 0/1 - 16.0 MB <unlimited> https://lin2.fritz.box:51023
hrtt-core STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51009
hrtt-sapui5 STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51008
hrtt-service STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51007
jobscheduler-backend STOPPED 0/1 - 256 MB <unlimited> https://lin2.fritz.box:51030
jobscheduler-broker STOPPED 0/1 - 256 MB <unlimited> https://lin2.fritz.box:51029
jobscheduler-dashboard STOPPED 0/1 - 256 MB <unlimited> https://lin2.fritz.box:51031
jobscheduler-db STOPPED 0/1 - 256 MB <unlimited> <none>
jobscheduler-rest STOPPED 0/1 - 256 MB <unlimited> https://lin2.fritz.box:51027
jobscheduler-service STOPPED 0/1 - 512 MB <unlimited> https://lin2.fritz.box:51028
messaging-service-broker STOPPED 0/1 - 64.0 MB <unlimited> https://lin2.fritz.box:51012
messaging-service-hub STOPPED 0/1 - 1.00 GB <unlimited> tcps://lin2.fritz.box:51010
messaging-service-node STOPPED 0/1 - 1.00 GB <unlimited> tcps://lin2.fritz.box:51011
product-installer STARTED 1/1 - 375 MB <unlimited> https://lin2.fritz.box:51005
sap-portal-persistency STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51015
sap-portal-static-resources STARTED 1/1 - 1.00 GB <unlimited> https://lin2.fritz.box:51016
sapui5_fesv6 STARTED 1/1 - 256 MB <unlimited> https://lin2.fritz.box:51032
sapui5_fesv9 STARTED 1/1 - 384 MB <unlimited> https://lin2.fritz.box:51033
sapui5_sb STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51034
tools STARTED 1/1 - 128 MB <unlimited> https://lin2.fritz.box:51024
webide STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:53075
xsa-cockpit STARTED 1/1 - 512 MB <unlimited> https://lin2.fritz.box:51035
hxeadm@lin2.fritz:/usr/sap/HXE/HDB90> xs app xsa-cockpit
Showing status and information about "xsa-cockpit"...
name: xsa-cockpit
requested state: STARTED
instances: 1
memory: 512 MB
disk: <unlimited>
buildpack: sap_java_buildpack 1.8.46
urls: https://lin2.fritz.box:51035
created: Jan 22, 2025 9:51:59 PM
updated: Jan 23, 2025 7:32:10 AM
tasks: 0
runtimes used by running droplet: sapjvm8_jre 8.1.99 (id 11), tomcat9 9.0.89 (id 5)
weighted instance uptime: 100 %
Instances of droplet 1 created at Jan 22, 2025 9:52:28 PM
index created terminated state host internal port os user
------------------------------------------------------------------------------------------------------------------
0 Jan 22, 2025 9:53:19 PM Jan 22, 2025 10:41:23 PM STOPPED lin2.fritz.box 40334 <not set>
1 Jan 22, 2025 10:55:10 PM Jan 22, 2025 10:56:26 PM STOPPED lin2.fritz.box 40319 <not set>
Instances of droplet 2 created at Jan 23, 2025 7:28:38 AM
index created terminated state host internal port os user
---------------------------------------------------------------------------------------------------
0 Jan 23, 2025 7:32:11 AM - RUNNING lin2.fritz.box 40323 <not set>
hxeadm@lin2.fritz:/usr/sap/HXE/HDB90> xs restart xsa-cockpit
Stopping app "xsa-cockpit"...
0 of 1 instances running
Starting app "xsa-cockpit"...
Starting instances with the default OS user
1 of 1 instances running
Showing status and information about "xsa-cockpit"
name: xsa-cockpit
requested state: STARTED
instances: 1
memory: 512 MB
disk: <unlimited>
buildpack: sap_java_buildpack 1.8.46
urls: https://lin2.fritz.box:51035
created: Jan 22, 2025 9:51:59 PM
updated: Jan 23, 2025 8:44:00 AM
Instances of droplet 1 created at Jan 22, 2025 9:52:28 PM
index created terminated state os user
---------------------------------------------------------------------------------
0 Jan 22, 2025 9:53:19 PM Jan 22, 2025 10:41:23 PM STOPPED <not set>
1 Jan 22, 2025 10:55:10 PM Jan 22, 2025 10:56:26 PM STOPPED <not set>
Instances of droplet 2 created at Jan 23, 2025 7:28:38 AM
index created terminated state os user
-------------------------------------------------------------------------------
0 Jan 23, 2025 7:32:11 AM Jan 23, 2025 8:43:59 AM STOPPED <not set>
1 Jan 23, 2025 8:44:00 AM - RUNNING <not set>
hxeadm@lin2.fritz:/usr/sap/HXE/HDB90>
List installed software component versions
xs lc --all
Sample Output
C:\Users\User1>xs lc --all
Getting software components in org "HANAExpress" / space "SAP" as xsa_admin...
Found software components:
software component version state*
-------------------------------------------------
XSAC_COCKPIT (sap.com) 2.16.10 S
XSAC_HRTT (sap.com) 2.16.240102 S
XSAC_MESS_SRV (sap.com) 1.4.18 S
XSAC_PORTAL_SERV (sap.com) 2.7.1 S
XSAC_SAP_WEB_IDE (sap.com) 4.7.1 S
XSAC_SERVICES (sap.com) 1.7.27 S
XSAC_UI5_FESV6 (sap.com) 1.71.68 S
XSAC_UI5_FESV9 (sap.com) 1.108.31 S
XSAC_UI5_SB (sap.com) 1.0.4 S
XSAC_XSA_COCKPIT (sap.com) 1.1.40 S
* S - success, B - broken, R - running
Uninstalling SAP HANA 2.0, express edition and Applications
To uninstall the complete system and all installed Applications run these commands:
/hana/shared/HXE/hdblcm/hdblcm --uninstall --components=all --batch
/usr/sap/hostctrl/exe/saphostexec -uninstall
rm -rf /hana /etc/pam.d/sapstartsrv /etc/security/limits.d/99-sapsys.conf /usr/sap
find /etc -name *sapinit* -exec rm -f {} \;
userdel sapadm && groupdel sapsys
Individual components can be uninstalled with the hdblcm tool (Index 5).
To uninstall the SAP HANA database client on Windows run:
C:\sw\sap\HANA\clients_windows\HDB_CLIENT_WINDOWS_X86_64\hdbuninst.exe
rem remove the directory from the PATH
setx PATH "%PATH:C:\Program Files\sap\hdbclient;=%"
Leave a Reply