In the first post about Db2 I went for the non-root installation method. While this is great if you want to get started fast and to do some tests this also comes with limitations. Most installations, I guess, are root installations, especially if you want to run more than one instance on a host, and you want to have them started automatically when the systems comes up. Lets see how that works.

As last time, I’ll start with a SLES 15SP3 minimal installation:

sles15-db2-root:~ $ uname -a
Linux sles15-db2-root 5.3.18-59.37-default #1 SMP Mon Nov 22 12:29:04 UTC 2021 (d10168e) x86_64 x86_64 x86_64 GNU/Linux
sles15-db2-root:~ $ cat /etc/os-release
NAME="SLES"
VERSION="15-SP3"
VERSION_ID="15.3"
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP3"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15:sp3"
DOCUMENTATION_URL="https://documentation.suse.com/"

Instead of trial and error as in the last post, lets directly install the packages which are required for a non-root installation:

sles15-db2-root:~ $ zypper in -y xorg-x11-xauth sudo vi binutils libnuma1 libstdc++6-32bit pam-32bit

I’ll use exactly the same Db2 distribution as in the previous post:

sles15-db2-root:~ $ ls -l
total 2034632
-rw------- 1 root root        268 Jan 20 11:23 .bash_history
drwxr-xr-x 1 root root          0 Mar  3  2021 bin
drwx------ 1 root root          0 Mar  3  2021 .gnupg
drwxr-xr-x 1 root root         36 Jul  9  2021 inst-sys
-rw-r--r-- 1 root root 2083458415 Jan 20 11:38 v11.5.6_linuxx64_server_dec.tar.gz
sles15-db2-root:~ $ tar axf v11.5.6_linuxx64_server_dec.tar.gz 
sles15-db2-root:~ $ rm v11.5.6_linuxx64_server_dec.tar.gz 
sles15-db2-root:~ $ ls -l
total 4
-rw------- 1 root root 268 Jan 20 11:23 .bash_history
drwxr-xr-x 1 root root   0 Mar  3  2021 bin
drwx------ 1 root root   0 Mar  3  2021 .gnupg
drwxr-xr-x 1 root root  36 Jul  9  2021 inst-sys
drwxr-xr-x 1 root root 240 Jun 11  2021 server_dec
sles15-db2-root:~ $ cd server_dec
sles15-db2-root:~/server_dec $ ls -l
total 84
drwxr-xr-x 1 bin bin   112 Jun 11  2021 db2
-r--r--r-- 1 bin bin  4987 Jun 11  2021 db2checkCOL_readme.txt
-r--r--r-- 1 bin bin 16808 Jun 11  2021 db2checkCOL.tar.gz
-r-xr-xr-x 1 bin bin  5254 Jun 11  2021 db2ckupgrade
-r-xr-xr-x 1 bin bin  5207 Jun 11  2021 db2_deinstall
-r-xr-xr-x 1 bin bin  5077 Jun 11  2021 db2_install
-r-xr-xr-x 1 bin bin  5041 Jun 11  2021 db2ls
-r-xr-xr-x 1 bin bin  5059 Jun 11  2021 db2prereqcheck
-r-xr-xr-x 1 bin bin  5059 Jun 11  2021 db2setup
-r-xr-xr-x 1 bin bin  5095 Jun 11  2021 installFixPack

This time we’ll use “db2prereqcheck” to check if all requirements are met for the installation:

sles15-db2-root:~/server_dec $ ./db2prereqcheck

==========================================================================

Thu Jan 20 11:50:39 2022
Checking prerequisites for DB2 installation. Version "11.5.6.0". Operating system "Linux" 
   
Validating "Linux distribution " ... 

Requirement not matched for DB2 database "Server" with pureScale feature . Version: "10.5.0.0". 
Summary of prerequisites that are not met on the current system: 
DBT3613E  The db2prereqcheck utility failed to verify the prerequisites for TSA. Ensure your machine meets all the TSA installation prerequisites. 
...

DBT3507E  The db2prereqcheck utility failed to find the following package or file: "kernel-source". 
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "". 
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "gcc-c++". 
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "cpp". 
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "gcc". 

Seems we are missing another few packages:

sles15-db2-root:~/server_dec $ zypper in kernel-source gcc-c++ cpp gcc

Next try (“-i” tells db2prereqcheck to only check for the current version of Db2, not all versions as above):

sles15-db2-root:~/server_dec $ ./db2prereqcheck -i
...
Validating "/lib/libpam.so*" ... 
   Requirement matched. 
DBT3533I  The db2prereqcheck utility has confirmed that all installation prerequisites were met. 

All fine, so lets go:

sles15-db2-root:~/server_dec $ ./db2_install 
Read the license agreement file in the db2/license directory.

***********************************************************
To accept those terms, enter "yes". Otherwise, enter "no" to cancel the install process. [yes/no]
yes
 
 
Default directory for installation of products - /opt/ibm/db2/V11.5

***********************************************************
Install into default directory (/opt/ibm/db2/V11.5) ? [yes/no] 
yes
 
 
Specify one of the following keywords to install DB2 products.

  SERVER 
  CONSV 
  CLIENT 
  RTCL 
 
Enter "help" to redisplay product names.

Enter "quit" to exit.

***********************************************************
SERVER
***********************************************************
Do you want to install the DB2 pureScale Feature? [yes/no] 
no
DB2 installation is being initialized.

 Total number of tasks to be performed: 59 
Total estimated time for all tasks to be performed: 2775 second(s) 

Task #1 start
Description: Checking license agreement acceptance 
Estimated time 1 second(s) 
Task #1 end 

Task #2 start
Description: Base Client Support for installation with root privileges 
Estimated time 3 second(s) 
Task #2 end 

Task #3 start
Description: Product Messages - English 
Estimated time 14 second(s) 
Task #3 end 

Task #4 start
Description: Base client support 
Estimated time 355 second(s) 
Task #4 end 

Task #5 start
Description: Java Runtime Support 
Estimated time 217 second(s) 
Task #5 end 

Task #6 start
Description: Java Help (HTML) - English 
Estimated time 7 second(s) 
Task #6 end 

Task #7 start
Description: Base server support for installation with root privileges 
Estimated time 6 second(s) 
Task #7 end 

Task #8 start
Description: Global Secure ToolKit 
Estimated time 76 second(s) 
Task #8 end 

Task #9 start
Description: Java support 
Estimated time 11 second(s) 
Task #9 end 

Task #10 start
Description: SQL procedures 
Estimated time 3 second(s) 
Task #10 end 

Task #11 start
Description: ICU Utilities 
Estimated time 59 second(s) 
Task #11 end 

Task #12 start
Description: Java Common files 
Estimated time 18 second(s) 
Task #12 end 

Task #13 start
Description: Base server support 
Estimated time 582 second(s) 
Task #13 end 

Task #14 start
Description: Control Center Help (HTML) - English 
Estimated time 13 second(s) 
Task #14 end 

Task #15 start
Description: Relational wrappers common 
Estimated time 3 second(s) 
Task #15 end 

Task #16 start
Description: DB2 data source support 
Estimated time 6 second(s) 
Task #16 end 

Task #17 start
Description: ODBC data source support 
Estimated time 260 second(s) 
Task #17 end 

Task #18 start
Description: Teradata data source support 
Estimated time 3 second(s) 
Task #18 end 

Task #19 start
Description: Spatial Extender server support 
Estimated time 21 second(s) 
Task #19 end 

Task #20 start
Description: Scientific Data Sources 
Estimated time 5 second(s) 
Task #20 end 

Task #21 start
Description: JDBC data source support 
Estimated time 200 second(s) 
Task #21 end 

Task #22 start
Description: IBM Software Development Kit (SDK) for Java(TM) 
Estimated time 49 second(s) 
Task #22 end 

Task #23 start
Description: DB2 LDAP support 
Estimated time 4 second(s) 
Task #23 end 

Task #24 start
Description: DB2 Instance Setup wizard 
Estimated time 23 second(s) 
Task #24 end 

Task #25 start
Description: Structured file data sources 
Estimated time 5 second(s) 
Task #25 end 

Task #26 start
Description: Integrated Flash Copy Support 
Estimated time 3 second(s) 
Task #26 end 

Task #27 start
Description: Oracle data source support 
Estimated time 4 second(s) 
Task #27 end 

Task #28 start
Description: Connect support 
Estimated time 3 second(s) 
Task #28 end 

Task #29 start
Description: Application data sources 
Estimated time 4 second(s) 
Task #29 end 

Task #30 start
Description: Spatial Extender client 
Estimated time 3 second(s) 
Task #30 end 

Task #31 start
Description: SQL Server data source support 
Estimated time 4 second(s) 
Task #31 end 

Task #32 start
Description: Communication support - TCP/IP 
Estimated time 3 second(s) 
Task #32 end 

Task #33 start
Description: Tivoli SA MP 
Estimated time 300 second(s) 
Task #33 end 

Task #34 start
Description: Base application development tools 
Estimated time 36 second(s) 
Task #34 end 

Task #35 start
Description: Parallel Extension 
Estimated time 3 second(s) 
Task #35 end 

Task #36 start
Description: EnterpriseDB code 
Estimated time 3 second(s) 
Task #36 end 

Task #37 start
Description: Replication tools 
Estimated time 60 second(s) 
Task #37 end 

Task #38 start
Description: Sample database source 
Estimated time 4 second(s) 
Task #38 end 

Task #39 start
Description: itlm 
Estimated time 3 second(s) 
Task #39 end 

Task #40 start
Description: DB2 Text Search 
Estimated time 107 second(s) 
Task #40 end 

Task #41 start
Description: Command Line Processor Plus 
Estimated time 8 second(s) 
Task #41 end 

Task #42 start
Description: Sybase data source support 
Estimated time 3 second(s) 
Task #42 end 

Task #43 start
Description: Informix data source support 
Estimated time 4 second(s) 
Task #43 end 

Task #44 start
Description: Federated Data Access Support 
Estimated time 3 second(s) 
Task #44 end 

Task #45 start
Description: First Steps 
Estimated time 3 second(s) 
Task #45 end 

Task #46 start
Description: Pacemaker 
Estimated time 100 second(s) 
Task #46 end 

Task #47 start
Description: Product Signature for DB2 Server Edition 
Estimated time 6 second(s) 
Task #47 end 

Task #48 start
Description: Guardium Installation Manager Client 
Estimated time 36 second(s) 
Task #48 end 

Task #49 start
Description: Setting DB2 library path 
Estimated time 180 second(s) 
Task #49 end 

Task #50 start
Description: Installing or updating DB2 HA scripts for IBM Tivoli System Automation for Multiplatforms (Tivoli SA MP) 
Estimated time 40 second(s) 
Task #50 end 

Task #51 start
Description: Installing or updating Db2 resource agent scripts for Pacemaker 
Estimated time 20 second(s) 
Task #51 end 

Task #52 start
Description: Executing control tasks 
Estimated time 20 second(s) 
Task #52 end 

Task #53 start
Description: Updating global registry 
Estimated time 20 second(s) 
Task #53 end 

Task #54 start
Description: Starting DB2 Fault Monitor 
Estimated time 10 second(s) 
Task #54 end 

Task #55 start
Description: Updating the db2ls and db2greg link 
Estimated time 1 second(s) 
Task #55 end 

Task #56 start
Description: Registering DB2 licenses 
Estimated time 5 second(s) 
Task #56 end 

Task #57 start
Description: Setting default global profile registry variables 
Estimated time 1 second(s) 
Task #57 end 

Task #58 start
Description: Initializing instance list 
Estimated time 5 second(s) 
Task #58 end 

Task #59 start
Description: Updating global profile registry 
Estimated time 3 second(s) 
Task #59 end 

The execution completed with warnings.

For more information see the DB2 installation log at
"/tmp/db2_install.log.7770".

This is quite some output. There is one warning in the tmp file:

WARNING: DBI20105E  An error occurred while installing the following file set:
"TSAMP". Because these files were not successfully installed, functionality
that depends on these files might not work as expected.

As this seems to be related to Tivoli System Automation, I don’t care. As an additional step you can validate the installation:

sles15-db2-root:~/server_dec $ /opt/ibm/db2/V11.5/bin/db2val
DBI1379I  The db2val command is running. This can take several minutes.

DBI1335I  Installation file validation for the DB2 copy installed at
      /opt/ibm/db2/V11.5 was successful.

DBI1343I  The db2val command completed successfully. For details, see
      the log file /tmp/db2val-220120_120906.log.

A root installation does not create an instance automatically, this is a manual post-installation task. Before doing that we need the Groups and Users:

sles15-db2-root:~ $ groupadd -g 999 db2iadm1
sles15-db2-root:~ $ groupadd -g 998 db2fsdm1
sles15-db2-root:~ $ groupadd -g 997 dasadm1
sles15-db2-root:~ $ useradd -u 1004 -g db2iadm1 -m -d /home/db2inst1 db2inst1 
sles15-db2-root:~ $ useradd -u 1003 -g db2fsdm1 -m -d /home/db2fenc1 db2fenc1 
sles15-db2-root:~ $ useradd -u 1002 -g dasadm1 -m -d /home/dasusr1 dasusr1
sles15-db2-root:~ $ passwd db2fenc1
sles15-db2-root:~ $ passwd dasusr1
sles15-db2-root:~ $ passwd dasusr1

Nest step: Instance creation:

sles15-db2-root:~ $ /opt/ibm/db2/V11.5/instance/db2icrt -a server -u db2fenc1 db2inst1
DBI1446I  The db2icrt command is running.

DB2 installation is being initialized.

 Total number of tasks to be performed: 4 
Total estimated time for all tasks to be performed: 309 second(s) 

Task #1 start
Description: Setting default global profile registry variables 
Estimated time 1 second(s) 
Task #1 end 

Task #2 start
Description: Initializing instance list 
Estimated time 5 second(s) 
Task #2 end 

Task #3 start
Description: Configuring DB2 instances 
Estimated time 300 second(s) 
Task #3 end 

Task #4 start
Description: Updating global profile registry 
Estimated time 3 second(s) 
Task #4 end 

The execution completed successfully.

For more information see the DB2 installation log at "/tmp/db2icrt.log.32397".
DBI1070I  Program db2icrt completed successfully.

Have a look the generated tmp file, because it contains the port number for the instance:

sles15-db2-root:~ $ cat /tmp/db2icrt.log.32397
...
Required steps:
You can connect to the DB2 instance "db2inst1" using the port number "25010". Record it for future reference.
...

All the files of the instance went to the home of the “db2inst1” user:

sles15-db2-root:~ $ ls -al /home/db2inst1/sqllib/
total 88
drwxrwsr-t 20 db2inst1 db2iadm1  4096 Jan 20 12:14 .
drwxr-xr-x  9 db2inst1 db2iadm1   182 Jan 20 12:14 ..
lrwxrwxrwx  1 root     db2iadm1     5 Jan 20 12:14 .32 -> lib32
lrwxrwxrwx  1 root     db2iadm1     5 Jan 20 12:14 .64 -> lib64
drwxr-sr-x  2 db2inst1 db2iadm1    23 Jun 11  2021 acs
drwxr-sr-x  2 db2inst1 db2iadm1  4096 Jan 20 12:14 adm
lrwxrwxrwx  1 root     db2iadm1    23 Jan 20 12:14 adsm -> /opt/ibm/db2/V11.5/adsm
drwxr-s---  2 db2inst1 db2iadm1     6 Jan 20 12:14 backup
lrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 bin -> /opt/ibm/db2/V11.5/bin
lrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 bnd -> /opt/ibm/db2/V11.5/bnd
drwxrwsr-t  2 db2inst1 db2iadm1  4096 Jan 20 12:14 cfg
drwxrwsr-t  2 db2inst1 db2iadm1    24 Jan 20 12:14 cfgcache
lrwxrwxrwx  1 root     db2iadm1    23 Jan 20 12:14 conv -> /opt/ibm/db2/V11.5/conv
drwxrwsr-t  2 db2inst1 db2iadm1    23 Jan 20 12:14 ctrl
drwxrwsr-t  2 db2inst1 db2iadm1     6 Jan 20 12:14 ctrlha
drwxrwsr-t  2 db2inst1 db2iadm1   148 Jan 20 12:14 dasfcn
-rwxr-xr-x  1 db2inst1 db2iadm1 13116 Jan 20 12:14 db2cshrc
drwxrwsrwt  3 db2inst1 db2iadm1    22 Jan 20 12:14 db2dump
-rw-rw-r--  1 db2inst1 db2iadm1    20 Jan 20 12:14 db2nodes.cfg
-rwxr-xr-x  1 db2inst1 db2iadm1  9088 Jan 20 12:14 db2profile
-rw-rw-r--  1 db2inst1 db2iadm1 28672 Jan 20 12:14 db2systm
drwxr-sr-x  5 db2inst1 db2iadm1    95 Jan 20 12:14 db2tss
lrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 doc -> /opt/ibm/db2/V11.5/doc
lrwxrwxrwx  1 root     db2iadm1    29 Jan 20 12:14 federation -> /opt/ibm/db2/V11.5/federation
-rw-r--r--  1 db2inst1 db2iadm1     4 Jan 20 12:14 .ftok
drwxrwsr-t  4 db2inst1 db2iadm1   127 Jan 20 12:14 function
lrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 gse -> /opt/ibm/db2/V11.5/gse
lrwxrwxrwx  1 root     db2iadm1    24 Jan 20 12:14 gskit -> /opt/ibm/db2/V11.5/gskit
lrwxrwxrwx  1 root     db2iadm1    26 Jan 20 12:14 include -> /opt/ibm/db2/V11.5/include
lrwxrwxrwx  1 root     db2iadm1    26 Jan 20 12:14 infopop -> /opt/ibm/db2/V11.5/infopop
-rw-rw-r--  1 db2inst1 db2iadm1     2 Jan 20 12:14 .insttype
-rw-r--r--  1 db2inst1 db2iadm1   120 Jan 20 12:14 .instuse
lrwxrwxrwx  1 root     db2iadm1    23 Jan 20 12:14 java -> /opt/ibm/db2/V11.5/java
lrwxrwxrwx  1 root     db2iadm1    23 Jan 20 12:14 json -> /opt/ibm/db2/V11.5/json
lrwxrwxrwx  1 root     db2iadm1     5 Jan 20 12:14 lib -> lib64
lrwxrwxrwx  1 root     db2iadm1    24 Jan 20 12:14 lib32 -> /opt/ibm/db2/V11.5/lib32
lrwxrwxrwx  1 root     db2iadm1    24 Jan 20 12:14 lib64 -> /opt/ibm/db2/V11.5/lib64
drwxrwsr-t  2 db2inst1 db2iadm1    26 Jan 20 12:14 log
lrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 map -> /opt/ibm/db2/V11.5/map
lrwxrwxrwx  1 root     db2iadm1    23 Jan 20 12:14 misc -> /opt/ibm/db2/V11.5/misc
lrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 msg -> /opt/ibm/db2/V11.5/msg
drwxrwsr-x  2 db2inst1 db2iadm1     6 Jan 20 12:14 .netls
lrwxrwxrwx  1 root     db2iadm1    21 Jan 20 12:14 pd -> /opt/ibm/db2/V11.5/pd
-rw-rw-r--  1 db2inst1 db2iadm1    16 Jan 20 12:14 profile.env
lrwxrwxrwx  1 root     db2iadm1    25 Jan 20 12:14 python -> /opt/ibm/db2/V11.5/python
lrwxrwxrwx  1 root     db2iadm1    20 Jan 20 12:14 R -> /opt/ibm/db2/V11.5/R
lrwxrwxrwx  1 root     db2iadm1    25 Jan 20 12:14 Readme -> /opt/ibm/db2/V11.5/Readme
lrwxrwxrwx  1 root     db2iadm1    26 Jan 20 12:14 samples -> /opt/ibm/db2/V11.5/samples
drwxr-sr-x  3 db2inst1 db2iadm1   119 Jan 20 12:14 security
drwxr-sr-x  3 db2inst1 db2iadm1    20 Jan 20 12:14 security32
drwxr-sr-x  3 db2inst1 db2iadm1    20 Jan 20 12:14 security64
drwxrwsrwx  2 db2inst1 db2iadm1     6 Jan 20 12:14 tmp
lrwxrwxrwx  1 root     db2iadm1    24 Jan 20 12:14 tools -> /opt/ibm/db2/V11.5/tools
drwxrwsrwx  2 db2inst1 db2iadm1     6 Jan 20 12:14 uif
-rwxr-xr-x  1 db2inst1 db2iadm1     0 Jan 20 12:14 usercshrc
-rwxr-xr-x  1 db2inst1 db2iadm1     0 Jan 20 12:14 userprofile

Lets bring the instance up and create a database, exactly as in the last post:

sles15-db2-root:~ $ su - db2inst1
db2inst1@sles15-db2-root:~> db2ls

Install Path                       Level   Fix Pack   Special Install Number   Install Date                  Installer UID 
---------------------------------------------------------------------------------------------------------------------
/opt/ibm/db2/V11.5               11.5.6.0        0                            Thu Jan 20 12:05:28 2022 CET             0 

      
      

db2inst1@sles15-db2-root:~> . sqllib/userprofile 
db2inst1@sles15-db2-root:~> db2ilist 
db2inst1
db2inst1@sles15-db2-root:~> db2start
01/20/2022 12:20:41     0   0   SQL1063N  DB2START processing was successful.
SQL1063N  DB2START processing was successful.


b2inst1@sles15-db2-root:~> db2
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 11.5.6.0

You can issue database manager commands and SQL statements from the command 
prompt. For example:
    db2 => connect to sample
    db2 => bind sample.bnd

For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
 ? CATALOG DATABASE for help on the CATALOG DATABASE command
 ? CATALOG          for help on all of the CATALOG commands.

To exit db2 interactive mode, type QUIT at the command prompt. Outside 
interactive mode, all commands must be prefixed with 'db2'.
To list the current command option settings, type LIST COMMAND OPTIONS.

For more detailed help, refer to the Online Reference Manual.

db2 => create database db1
DB20000I  The CREATE DATABASE command completed successfully.
db2 => connect to db1

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.5.6.0
 SQL authorization ID   = DB2INST1
 Local database alias   = DB1

db2 => 

Finally we want this instance to start automatically when the systems comes up:

db2inst1@sles15-db2-root:~> db2greg -getinstrec instancename='db2inst1'
Retrieved record:
   Service      = |DB2|
   Version      = |11.5.6.0|
   InstanceName = |db2inst1|
   InstancePath = |/home/db2inst1/sqllib|
   Usage        = |N/A|
   StartAtBoot  = 1
   Maintenance  = 0
   InstallPath  = |/opt/ibm/db2/V11.5|
   RemoteProf   = |N/A|
   Comment      = |N/A|
db2inst1@sles15-db2-root:~> db2iauto -on db2inst1 
db2inst1@sles15-db2-root:~> exit
sles15-db2-root:~ $ systemctl reboot

After rebooting we can confirm, that the instance is started:

sles15-db2-root:~ # su - db2inst1
db2inst1@sles15-db2-root:~> ps -ef | grep db2
root       543     1  0 13:13 ?        00:00:00 /opt/ibm/db2/V11.5/bin/db2fmcd
root      1354     1  8 13:14 ?        00:00:00 db2wdog 0 [db2inst1]
db2inst1  1356  1354 10 13:14 ?        00:00:00 db2sysc 0
root      1425  1354  0 13:14 ?        00:00:00 db2ckpwd 0
root      1426  1354  0 13:14 ?        00:00:00 db2ckpwd 0
root      1427  1354  0 13:14 ?        00:00:00 db2ckpwd 0
db2inst1  1429  1354  1 13:14 ?        00:00:00 db2vend (PD Vendor Process - 1) 0
db2inst1  1438  1354  1 13:14 ?        00:00:00 db2acd 0 ,0,0,0,1,0,0,00000000,0,0,0000000000000000,0000000000000000,00000000,00000000,00000000,00000000,00000000,00000000,0000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,000000002d85b000,0000000000000000,0000000000000000,1,0,0,,,,,a89e68,14,1e014,2,0,1,0000000000041fc0,0x240000000,0x240000000,1600000,2,2,10
root      1458  1374  0 13:14 pts/0    00:00:00 su - db2inst1
db2inst1  1459  1458  0 13:14 pts/0    00:00:00 -bash
db2inst1  1867  1459 99 13:14 pts/0    00:00:00 ps -ef
db2inst1  1868  1459  0 13:14 pts/0    00:00:00 grep --color=auto db2
db2inst1@sles15-db2-root:~> db2
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 11.5.6.0

You can issue database manager commands and SQL statements from the command 
prompt. For example:
    db2 => connect to sample
    db2 => bind sample.bnd

For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
 ? CATALOG DATABASE for help on the CATALOG DATABASE command
 ? CATALOG          for help on all of the CATALOG commands.

To exit db2 interactive mode, type QUIT at the command prompt. Outside 
interactive mode, all commands must be prefixed with 'db2'.
To list the current command option settings, type LIST COMMAND OPTIONS.

For more detailed help, refer to the Online Reference Manual.

db2 => connect to db1

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.5.6.0
 SQL authorization ID   = DB2INST1
 Local database alias   = DB1

db2 => 

As this is on Linux there should be a systemd service definition somewhere:

db2inst1@sles15-db2-root:~> systemctl list-unit-files | grep db2
db2fmcd.service                                                           enabled         disabled     
db2inst1@sles15-db2-root:~> systemctl status db2fmcd.service
● db2fmcd.service - DB2 v11.5.6.0
     Loaded: loaded (/etc/systemd/system/db2fmcd.service; enabled; vendor preset: disabled)
     Active: active (running) since Thu 2022-01-20 13:13:16 CET; 1min 54s ago
   Main PID: 543 (db2fmcd)
      Tasks: 44
     CGroup: /system.slice/db2fmcd.service
             ├─ 543 /opt/ibm/db2/V11.5/bin/db2fmcd
             ├─1354 db2wdog 0 [db2inst1]
             ├─1356 db2sysc 0
             ├─1425 db2ckpwd 0
             ├─1426 db2ckpwd 0
             ├─1427 db2ckpwd 0
             ├─1429 db2vend (PD Vendor Process - 1) 0
             └─1438 db2acd 0 ,0,0,0,1,0,0,00000000,0,0,0000000000000000,0000000000000000,00000000,00000000,00000000,00000000,00000000,00000000,0000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,000000002d85b000,0000000000000000,0000000000000000,1,0,0,,,,,a89e68,14,1e014,2,0,1,0000000000041fc0,0x240000000,0x240000000,1600000,2,2,10

That’s it for the root installation. For me, personally, there is not much benefit compared to the non-root installation. For real systems this is the way to go for, especially when you check the limitations of the non-root installation.