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.

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

UsernamePasswordRemark
rootchangemeOS user
hxeadmSapSap99Operating System administrator (OS)
sapadmSapSap99SAP Host Agent administrator (OS)
SYSTEMSapSap99Database superuser
XSA_ADMINSapSap99XS Advanced Administration User
XSA_DEVSapSap99

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

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;=%"

Further Info