{"id":258,"date":"2022-01-20T18:11:59","date_gmt":"2022-01-20T17:11:59","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/2022\/01\/20\/setting-up-ibm-db2-on-linux-root-installation\/"},"modified":"2022-04-06T08:26:59","modified_gmt":"2022-04-06T06:26:59","slug":"setting-up-ibm-db2-on-linux-root-installation","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/","title":{"rendered":"Setting up IBM Db2 on Linux &#8211; root installation"},"content":{"rendered":"<p>In the <a href=\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux\/\" target=\"_blank\" rel=\"noopener\">first post about Db2<\/a> I went for the <a href=\"https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=methods-non-root-installation-linux-unix\" target=\"_blank\" rel=\"noopener\">non-root<\/a> installation method. While this is great if you want to get started fast and to do some tests this also comes with <a href=\"https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=unix-limitations-non-root-installations\" target=\"_blank\" rel=\"noopener\">limitations<\/a>. 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.<\/p>\n<p><!--more--><\/p>\n<p>As last time, I&#8217;ll start with a <a href=\"https:\/\/www.suse.com\/products\/server\/\" target=\"_blank\" rel=\"noopener\">SLES 15SP3<\/a> minimal installation:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~ $ uname -a\nLinux 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\nsles15-db2-root:~ $ cat \/etc\/os-release\nNAME=\"SLES\"\nVERSION=\"15-SP3\"\nVERSION_ID=\"15.3\"\nPRETTY_NAME=\"SUSE Linux Enterprise Server 15 SP3\"\nID=\"sles\"\nID_LIKE=\"suse\"\nANSI_COLOR=\"0;32\"\nCPE_NAME=\"cpe:\/o:suse:sles:15:sp3\"\nDOCUMENTATION_URL=\"https:\/\/documentation.suse.com\/\"\n<\/pre>\n<p>Instead of trial and error as in the last post, lets directly install the packages which are required for a non-root installation:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~ $ zypper in -y xorg-x11-xauth sudo vi binutils libnuma1 libstdc++6-32bit pam-32bit\n<\/pre>\n<p>I&#8217;ll use exactly the same Db2 distribution as in the previous post:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~ $ ls -l\ntotal 2034632\n-rw------- 1 root root        268 Jan 20 11:23 .bash_history\ndrwxr-xr-x 1 root root          0 Mar  3  2021 bin\ndrwx------ 1 root root          0 Mar  3  2021 .gnupg\ndrwxr-xr-x 1 root root         36 Jul  9  2021 inst-sys\n-rw-r--r-- 1 root root 2083458415 Jan 20 11:38 v11.5.6_linuxx64_server_dec.tar.gz\nsles15-db2-root:~ $ tar axf v11.5.6_linuxx64_server_dec.tar.gz \nsles15-db2-root:~ $ rm v11.5.6_linuxx64_server_dec.tar.gz \nsles15-db2-root:~ $ ls -l\ntotal 4\n-rw------- 1 root root 268 Jan 20 11:23 .bash_history\ndrwxr-xr-x 1 root root   0 Mar  3  2021 bin\ndrwx------ 1 root root   0 Mar  3  2021 .gnupg\ndrwxr-xr-x 1 root root  36 Jul  9  2021 inst-sys\ndrwxr-xr-x 1 root root 240 Jun 11  2021 server_dec\nsles15-db2-root:~ $ cd server_dec\nsles15-db2-root:~\/server_dec $ ls -l\ntotal 84\ndrwxr-xr-x 1 bin bin   112 Jun 11  2021 db2\n-r--r--r-- 1 bin bin  4987 Jun 11  2021 db2checkCOL_readme.txt\n-r--r--r-- 1 bin bin 16808 Jun 11  2021 db2checkCOL.tar.gz\n-r-xr-xr-x 1 bin bin  5254 Jun 11  2021 db2ckupgrade\n-r-xr-xr-x 1 bin bin  5207 Jun 11  2021 db2_deinstall\n-r-xr-xr-x 1 bin bin  5077 Jun 11  2021 db2_install\n-r-xr-xr-x 1 bin bin  5041 Jun 11  2021 db2ls\n-r-xr-xr-x 1 bin bin  5059 Jun 11  2021 db2prereqcheck\n-r-xr-xr-x 1 bin bin  5059 Jun 11  2021 db2setup\n-r-xr-xr-x 1 bin bin  5095 Jun 11  2021 installFixPack\n<\/pre>\n<p>This time we&#8217;ll use &#8220;db2prereqcheck&#8221; to check if all requirements are met for the installation:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~\/server_dec $ .\/db2prereqcheck\n\n==========================================================================\n\nThu Jan 20 11:50:39 2022\nChecking prerequisites for DB2 installation. Version \"11.5.6.0\". Operating system \"Linux\" \n   \nValidating \"Linux distribution \" ... \n\nRequirement not matched for DB2 database \"Server\" with pureScale feature . Version: \"10.5.0.0\". \nSummary of prerequisites that are not met on the current system: \nDBT3613E  The db2prereqcheck utility failed to verify the prerequisites for TSA. Ensure your machine meets all the TSA installation prerequisites. \n...\n\nDBT3507E  The db2prereqcheck utility failed to find the following package or file: \"kernel-source\". \nDBT3507E  The db2prereqcheck utility failed to find the following package or file: \"\". \nDBT3507E  The db2prereqcheck utility failed to find the following package or file: \"gcc-c++\". \nDBT3507E  The db2prereqcheck utility failed to find the following package or file: \"cpp\". \nDBT3507E  The db2prereqcheck utility failed to find the following package or file: \"gcc\". \n<\/pre>\n<p>Seems we are missing another few packages:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~\/server_dec $ zypper in kernel-source gcc-c++ cpp gcc\n<\/pre>\n<p>Next try (&#8220;-i&#8221; tells db2prereqcheck to only check for the current version of Db2, not all versions as above):<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~\/server_dec $ .\/db2prereqcheck -i\n...\nValidating \"\/lib\/libpam.so*\" ... \n   Requirement matched. \nDBT3533I  The db2prereqcheck utility has confirmed that all installation prerequisites were met. \n<\/pre>\n<p>All fine, so lets go:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,6,28]\">\nsles15-db2-root:~\/server_dec $ .\/db2_install \nRead the license agreement file in the db2\/license directory.\n\n***********************************************************\nTo accept those terms, enter \"yes\". Otherwise, enter \"no\" to cancel the install process. [yes\/no]\nyes\n \n \nDefault directory for installation of products - \/opt\/ibm\/db2\/V11.5\n\n***********************************************************\nInstall into default directory (\/opt\/ibm\/db2\/V11.5) ? [yes\/no] \nyes\n \n \nSpecify one of the following keywords to install DB2 products.\n\n  SERVER \n  CONSV \n  CLIENT \n  RTCL \n \nEnter \"help\" to redisplay product names.\n\nEnter \"quit\" to exit.\n\n***********************************************************\nSERVER\n***********************************************************\nDo you want to install the DB2 pureScale Feature? [yes\/no] \nno\nDB2 installation is being initialized.\n\n Total number of tasks to be performed: 59 \nTotal estimated time for all tasks to be performed: 2775 second(s) \n\nTask #1 start\nDescription: Checking license agreement acceptance \nEstimated time 1 second(s) \nTask #1 end \n\nTask #2 start\nDescription: Base Client Support for installation with root privileges \nEstimated time 3 second(s) \nTask #2 end \n\nTask #3 start\nDescription: Product Messages - English \nEstimated time 14 second(s) \nTask #3 end \n\nTask #4 start\nDescription: Base client support \nEstimated time 355 second(s) \nTask #4 end \n\nTask #5 start\nDescription: Java Runtime Support \nEstimated time 217 second(s) \nTask #5 end \n\nTask #6 start\nDescription: Java Help (HTML) - English \nEstimated time 7 second(s) \nTask #6 end \n\nTask #7 start\nDescription: Base server support for installation with root privileges \nEstimated time 6 second(s) \nTask #7 end \n\nTask #8 start\nDescription: Global Secure ToolKit \nEstimated time 76 second(s) \nTask #8 end \n\nTask #9 start\nDescription: Java support \nEstimated time 11 second(s) \nTask #9 end \n\nTask #10 start\nDescription: SQL procedures \nEstimated time 3 second(s) \nTask #10 end \n\nTask #11 start\nDescription: ICU Utilities \nEstimated time 59 second(s) \nTask #11 end \n\nTask #12 start\nDescription: Java Common files \nEstimated time 18 second(s) \nTask #12 end \n\nTask #13 start\nDescription: Base server support \nEstimated time 582 second(s) \nTask #13 end \n\nTask #14 start\nDescription: Control Center Help (HTML) - English \nEstimated time 13 second(s) \nTask #14 end \n\nTask #15 start\nDescription: Relational wrappers common \nEstimated time 3 second(s) \nTask #15 end \n\nTask #16 start\nDescription: DB2 data source support \nEstimated time 6 second(s) \nTask #16 end \n\nTask #17 start\nDescription: ODBC data source support \nEstimated time 260 second(s) \nTask #17 end \n\nTask #18 start\nDescription: Teradata data source support \nEstimated time 3 second(s) \nTask #18 end \n\nTask #19 start\nDescription: Spatial Extender server support \nEstimated time 21 second(s) \nTask #19 end \n\nTask #20 start\nDescription: Scientific Data Sources \nEstimated time 5 second(s) \nTask #20 end \n\nTask #21 start\nDescription: JDBC data source support \nEstimated time 200 second(s) \nTask #21 end \n\nTask #22 start\nDescription: IBM Software Development Kit (SDK) for Java(TM) \nEstimated time 49 second(s) \nTask #22 end \n\nTask #23 start\nDescription: DB2 LDAP support \nEstimated time 4 second(s) \nTask #23 end \n\nTask #24 start\nDescription: DB2 Instance Setup wizard \nEstimated time 23 second(s) \nTask #24 end \n\nTask #25 start\nDescription: Structured file data sources \nEstimated time 5 second(s) \nTask #25 end \n\nTask #26 start\nDescription: Integrated Flash Copy Support \nEstimated time 3 second(s) \nTask #26 end \n\nTask #27 start\nDescription: Oracle data source support \nEstimated time 4 second(s) \nTask #27 end \n\nTask #28 start\nDescription: Connect support \nEstimated time 3 second(s) \nTask #28 end \n\nTask #29 start\nDescription: Application data sources \nEstimated time 4 second(s) \nTask #29 end \n\nTask #30 start\nDescription: Spatial Extender client \nEstimated time 3 second(s) \nTask #30 end \n\nTask #31 start\nDescription: SQL Server data source support \nEstimated time 4 second(s) \nTask #31 end \n\nTask #32 start\nDescription: Communication support - TCP\/IP \nEstimated time 3 second(s) \nTask #32 end \n\nTask #33 start\nDescription: Tivoli SA MP \nEstimated time 300 second(s) \nTask #33 end \n\nTask #34 start\nDescription: Base application development tools \nEstimated time 36 second(s) \nTask #34 end \n\nTask #35 start\nDescription: Parallel Extension \nEstimated time 3 second(s) \nTask #35 end \n\nTask #36 start\nDescription: EnterpriseDB code \nEstimated time 3 second(s) \nTask #36 end \n\nTask #37 start\nDescription: Replication tools \nEstimated time 60 second(s) \nTask #37 end \n\nTask #38 start\nDescription: Sample database source \nEstimated time 4 second(s) \nTask #38 end \n\nTask #39 start\nDescription: itlm \nEstimated time 3 second(s) \nTask #39 end \n\nTask #40 start\nDescription: DB2 Text Search \nEstimated time 107 second(s) \nTask #40 end \n\nTask #41 start\nDescription: Command Line Processor Plus \nEstimated time 8 second(s) \nTask #41 end \n\nTask #42 start\nDescription: Sybase data source support \nEstimated time 3 second(s) \nTask #42 end \n\nTask #43 start\nDescription: Informix data source support \nEstimated time 4 second(s) \nTask #43 end \n\nTask #44 start\nDescription: Federated Data Access Support \nEstimated time 3 second(s) \nTask #44 end \n\nTask #45 start\nDescription: First Steps \nEstimated time 3 second(s) \nTask #45 end \n\nTask #46 start\nDescription: Pacemaker \nEstimated time 100 second(s) \nTask #46 end \n\nTask #47 start\nDescription: Product Signature for DB2 Server Edition \nEstimated time 6 second(s) \nTask #47 end \n\nTask #48 start\nDescription: Guardium Installation Manager Client \nEstimated time 36 second(s) \nTask #48 end \n\nTask #49 start\nDescription: Setting DB2 library path \nEstimated time 180 second(s) \nTask #49 end \n\nTask #50 start\nDescription: Installing or updating DB2 HA scripts for IBM Tivoli System Automation for Multiplatforms (Tivoli SA MP) \nEstimated time 40 second(s) \nTask #50 end \n\nTask #51 start\nDescription: Installing or updating Db2 resource agent scripts for Pacemaker \nEstimated time 20 second(s) \nTask #51 end \n\nTask #52 start\nDescription: Executing control tasks \nEstimated time 20 second(s) \nTask #52 end \n\nTask #53 start\nDescription: Updating global registry \nEstimated time 20 second(s) \nTask #53 end \n\nTask #54 start\nDescription: Starting DB2 Fault Monitor \nEstimated time 10 second(s) \nTask #54 end \n\nTask #55 start\nDescription: Updating the db2ls and db2greg link \nEstimated time 1 second(s) \nTask #55 end \n\nTask #56 start\nDescription: Registering DB2 licenses \nEstimated time 5 second(s) \nTask #56 end \n\nTask #57 start\nDescription: Setting default global profile registry variables \nEstimated time 1 second(s) \nTask #57 end \n\nTask #58 start\nDescription: Initializing instance list \nEstimated time 5 second(s) \nTask #58 end \n\nTask #59 start\nDescription: Updating global profile registry \nEstimated time 3 second(s) \nTask #59 end \n\nThe execution completed with warnings.\n\nFor more information see the DB2 installation log at\n\"\/tmp\/db2_install.log.7770\".\n<\/pre>\n<p>This is quite some output. There is one warning in the tmp file:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nWARNING: DBI20105E  An error occurred while installing the following file set:\n\"TSAMP\". Because these files were not successfully installed, functionality\nthat depends on these files might not work as expected.\n<\/pre>\n<p>As this seems to be related to Tivoli System Automation, I don&#8217;t care. As an additional step you can validate the installation:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~\/server_dec $ \/opt\/ibm\/db2\/V11.5\/bin\/db2val\nDBI1379I  The db2val command is running. This can take several minutes.\n\nDBI1335I  Installation file validation for the DB2 copy installed at\n      \/opt\/ibm\/db2\/V11.5 was successful.\n\nDBI1343I  The db2val command completed successfully. For details, see\n      the log file \/tmp\/db2val-220120_120906.log.\n<\/pre>\n<p>A root installation does not create an instance automatically, this is a manual post-installation task. Before doing that we need the <a href=\"https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=unix-creating-group-user-ids-db2-database-installation\" target=\"_blank\" rel=\"noopener\">Groups and Users<\/a>:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~ $ groupadd -g 999 db2iadm1\nsles15-db2-root:~ $ groupadd -g 998 db2fsdm1\nsles15-db2-root:~ $ groupadd -g 997 dasadm1\nsles15-db2-root:~ $ useradd -u 1004 -g db2iadm1 -m -d \/home\/db2inst1 db2inst1 \nsles15-db2-root:~ $ useradd -u 1003 -g db2fsdm1 -m -d \/home\/db2fenc1 db2fenc1 \nsles15-db2-root:~ $ useradd -u 1002 -g dasadm1 -m -d \/home\/dasusr1 dasusr1\nsles15-db2-root:~ $ passwd db2fenc1\nsles15-db2-root:~ $ passwd dasusr1\nsles15-db2-root:~ $ passwd dasusr1\n<\/pre>\n<p>Nest step: Instance creation:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~ $ \/opt\/ibm\/db2\/V11.5\/instance\/db2icrt -a server -u db2fenc1 db2inst1\nDBI1446I  The db2icrt command is running.\n\nDB2 installation is being initialized.\n\n Total number of tasks to be performed: 4 \nTotal estimated time for all tasks to be performed: 309 second(s) \n\nTask #1 start\nDescription: Setting default global profile registry variables \nEstimated time 1 second(s) \nTask #1 end \n\nTask #2 start\nDescription: Initializing instance list \nEstimated time 5 second(s) \nTask #2 end \n\nTask #3 start\nDescription: Configuring DB2 instances \nEstimated time 300 second(s) \nTask #3 end \n\nTask #4 start\nDescription: Updating global profile registry \nEstimated time 3 second(s) \nTask #4 end \n\nThe execution completed successfully.\n\nFor more information see the DB2 installation log at \"\/tmp\/db2icrt.log.32397\".\nDBI1070I  Program db2icrt completed successfully.\n<\/pre>\n<p>Have a look the generated tmp file, because it contains the port number for the instance:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~ $ cat \/tmp\/db2icrt.log.32397\n...\nRequired steps:\nYou can connect to the DB2 instance \"db2inst1\" using the port number \"25010\". Record it for future reference.\n...\n<\/pre>\n<p>All the files of the instance went to the home of the &#8220;db2inst1&#8221; user:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsles15-db2-root:~ $ ls -al \/home\/db2inst1\/sqllib\/\ntotal 88\ndrwxrwsr-t 20 db2inst1 db2iadm1  4096 Jan 20 12:14 .\ndrwxr-xr-x  9 db2inst1 db2iadm1   182 Jan 20 12:14 ..\nlrwxrwxrwx  1 root     db2iadm1     5 Jan 20 12:14 .32 -&gt; lib32\nlrwxrwxrwx  1 root     db2iadm1     5 Jan 20 12:14 .64 -&gt; lib64\ndrwxr-sr-x  2 db2inst1 db2iadm1    23 Jun 11  2021 acs\ndrwxr-sr-x  2 db2inst1 db2iadm1  4096 Jan 20 12:14 adm\nlrwxrwxrwx  1 root     db2iadm1    23 Jan 20 12:14 adsm -&gt; \/opt\/ibm\/db2\/V11.5\/adsm\ndrwxr-s---  2 db2inst1 db2iadm1     6 Jan 20 12:14 backup\nlrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 bin -&gt; \/opt\/ibm\/db2\/V11.5\/bin\nlrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 bnd -&gt; \/opt\/ibm\/db2\/V11.5\/bnd\ndrwxrwsr-t  2 db2inst1 db2iadm1  4096 Jan 20 12:14 cfg\ndrwxrwsr-t  2 db2inst1 db2iadm1    24 Jan 20 12:14 cfgcache\nlrwxrwxrwx  1 root     db2iadm1    23 Jan 20 12:14 conv -&gt; \/opt\/ibm\/db2\/V11.5\/conv\ndrwxrwsr-t  2 db2inst1 db2iadm1    23 Jan 20 12:14 ctrl\ndrwxrwsr-t  2 db2inst1 db2iadm1     6 Jan 20 12:14 ctrlha\ndrwxrwsr-t  2 db2inst1 db2iadm1   148 Jan 20 12:14 dasfcn\n-rwxr-xr-x  1 db2inst1 db2iadm1 13116 Jan 20 12:14 db2cshrc\ndrwxrwsrwt  3 db2inst1 db2iadm1    22 Jan 20 12:14 db2dump\n-rw-rw-r--  1 db2inst1 db2iadm1    20 Jan 20 12:14 db2nodes.cfg\n-rwxr-xr-x  1 db2inst1 db2iadm1  9088 Jan 20 12:14 db2profile\n-rw-rw-r--  1 db2inst1 db2iadm1 28672 Jan 20 12:14 db2systm\ndrwxr-sr-x  5 db2inst1 db2iadm1    95 Jan 20 12:14 db2tss\nlrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 doc -&gt; \/opt\/ibm\/db2\/V11.5\/doc\nlrwxrwxrwx  1 root     db2iadm1    29 Jan 20 12:14 federation -&gt; \/opt\/ibm\/db2\/V11.5\/federation\n-rw-r--r--  1 db2inst1 db2iadm1     4 Jan 20 12:14 .ftok\ndrwxrwsr-t  4 db2inst1 db2iadm1   127 Jan 20 12:14 function\nlrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 gse -&gt; \/opt\/ibm\/db2\/V11.5\/gse\nlrwxrwxrwx  1 root     db2iadm1    24 Jan 20 12:14 gskit -&gt; \/opt\/ibm\/db2\/V11.5\/gskit\nlrwxrwxrwx  1 root     db2iadm1    26 Jan 20 12:14 include -&gt; \/opt\/ibm\/db2\/V11.5\/include\nlrwxrwxrwx  1 root     db2iadm1    26 Jan 20 12:14 infopop -&gt; \/opt\/ibm\/db2\/V11.5\/infopop\n-rw-rw-r--  1 db2inst1 db2iadm1     2 Jan 20 12:14 .insttype\n-rw-r--r--  1 db2inst1 db2iadm1   120 Jan 20 12:14 .instuse\nlrwxrwxrwx  1 root     db2iadm1    23 Jan 20 12:14 java -&gt; \/opt\/ibm\/db2\/V11.5\/java\nlrwxrwxrwx  1 root     db2iadm1    23 Jan 20 12:14 json -&gt; \/opt\/ibm\/db2\/V11.5\/json\nlrwxrwxrwx  1 root     db2iadm1     5 Jan 20 12:14 lib -&gt; lib64\nlrwxrwxrwx  1 root     db2iadm1    24 Jan 20 12:14 lib32 -&gt; \/opt\/ibm\/db2\/V11.5\/lib32\nlrwxrwxrwx  1 root     db2iadm1    24 Jan 20 12:14 lib64 -&gt; \/opt\/ibm\/db2\/V11.5\/lib64\ndrwxrwsr-t  2 db2inst1 db2iadm1    26 Jan 20 12:14 log\nlrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 map -&gt; \/opt\/ibm\/db2\/V11.5\/map\nlrwxrwxrwx  1 root     db2iadm1    23 Jan 20 12:14 misc -&gt; \/opt\/ibm\/db2\/V11.5\/misc\nlrwxrwxrwx  1 root     db2iadm1    22 Jan 20 12:14 msg -&gt; \/opt\/ibm\/db2\/V11.5\/msg\ndrwxrwsr-x  2 db2inst1 db2iadm1     6 Jan 20 12:14 .netls\nlrwxrwxrwx  1 root     db2iadm1    21 Jan 20 12:14 pd -&gt; \/opt\/ibm\/db2\/V11.5\/pd\n-rw-rw-r--  1 db2inst1 db2iadm1    16 Jan 20 12:14 profile.env\nlrwxrwxrwx  1 root     db2iadm1    25 Jan 20 12:14 python -&gt; \/opt\/ibm\/db2\/V11.5\/python\nlrwxrwxrwx  1 root     db2iadm1    20 Jan 20 12:14 R -&gt; \/opt\/ibm\/db2\/V11.5\/R\nlrwxrwxrwx  1 root     db2iadm1    25 Jan 20 12:14 Readme -&gt; \/opt\/ibm\/db2\/V11.5\/Readme\nlrwxrwxrwx  1 root     db2iadm1    26 Jan 20 12:14 samples -&gt; \/opt\/ibm\/db2\/V11.5\/samples\ndrwxr-sr-x  3 db2inst1 db2iadm1   119 Jan 20 12:14 security\ndrwxr-sr-x  3 db2inst1 db2iadm1    20 Jan 20 12:14 security32\ndrwxr-sr-x  3 db2inst1 db2iadm1    20 Jan 20 12:14 security64\ndrwxrwsrwx  2 db2inst1 db2iadm1     6 Jan 20 12:14 tmp\nlrwxrwxrwx  1 root     db2iadm1    24 Jan 20 12:14 tools -&gt; \/opt\/ibm\/db2\/V11.5\/tools\ndrwxrwsrwx  2 db2inst1 db2iadm1     6 Jan 20 12:14 uif\n-rwxr-xr-x  1 db2inst1 db2iadm1     0 Jan 20 12:14 usercshrc\n-rwxr-xr-x  1 db2inst1 db2iadm1     0 Jan 20 12:14 userprofile\n<\/pre>\n<p>Lets bring the instance up and create a database, exactly as in the last post:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2,11,12,14,19,40]\">\nsles15-db2-root:~ $ su - db2inst1\ndb2inst1@sles15-db2-root:~&gt; db2ls\n\nInstall Path                       Level   Fix Pack   Special Install Number   Install Date                  Installer UID \n---------------------------------------------------------------------------------------------------------------------\n\/opt\/ibm\/db2\/V11.5               11.5.6.0        0                            Thu Jan 20 12:05:28 2022 CET             0 \n\n      \n      \n\ndb2inst1@sles15-db2-root:~&gt; . sqllib\/userprofile \ndb2inst1@sles15-db2-root:~&gt; db2ilist \ndb2inst1\ndb2inst1@sles15-db2-root:~&gt; db2start\n01\/20\/2022 12:20:41     0   0   SQL1063N  DB2START processing was successful.\nSQL1063N  DB2START processing was successful.\n\n\nb2inst1@sles15-db2-root:~&gt; db2\n(c) Copyright IBM Corporation 1993,2007\nCommand Line Processor for DB2 Client 11.5.6.0\n\nYou can issue database manager commands and SQL statements from the command \nprompt. For example:\n    db2 =&gt; connect to sample\n    db2 =&gt; bind sample.bnd\n\nFor general help, type: ?.\nFor command help, type: ? command, where command can be\nthe first few keywords of a database manager command. For example:\n ? CATALOG DATABASE for help on the CATALOG DATABASE command\n ? CATALOG          for help on all of the CATALOG commands.\n\nTo exit db2 interactive mode, type QUIT at the command prompt. Outside \ninteractive mode, all commands must be prefixed with 'db2'.\nTo list the current command option settings, type LIST COMMAND OPTIONS.\n\nFor more detailed help, refer to the Online Reference Manual.\n\ndb2 =&gt; create database db1\nDB20000I  The CREATE DATABASE command completed successfully.\ndb2 =&gt; connect to db1\n\n   Database Connection Information\n\n Database server        = DB2\/LINUXX8664 11.5.6.0\n SQL authorization ID   = DB2INST1\n Local database alias   = DB1\n\ndb2 =&gt; \n<\/pre>\n<p>Finally we want this instance to <a href=\"https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=instances-auto-starting\" target=\"_blank\" rel=\"noopener\">start automatically<\/a> when the systems comes up:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,13]\">\ndb2inst1@sles15-db2-root:~&gt; db2greg -getinstrec instancename='db2inst1'\nRetrieved record:\n   Service      = |DB2|\n   Version      = |11.5.6.0|\n   InstanceName = |db2inst1|\n   InstancePath = |\/home\/db2inst1\/sqllib|\n   Usage        = |N\/A|\n   StartAtBoot  = 1\n   Maintenance  = 0\n   InstallPath  = |\/opt\/ibm\/db2\/V11.5|\n   RemoteProf   = |N\/A|\n   Comment      = |N\/A|\ndb2inst1@sles15-db2-root:~&gt; db2iauto -on db2inst1 \ndb2inst1@sles15-db2-root:~&gt; exit\nsles15-db2-root:~ $ systemctl reboot\n<\/pre>\n<p>After rebooting we can confirm, that the instance is started:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2,15,36]\">\nsles15-db2-root:~ # su - db2inst1\ndb2inst1@sles15-db2-root:~&gt; ps -ef | grep db2\nroot       543     1  0 13:13 ?        00:00:00 \/opt\/ibm\/db2\/V11.5\/bin\/db2fmcd\nroot      1354     1  8 13:14 ?        00:00:00 db2wdog 0 [db2inst1]\ndb2inst1  1356  1354 10 13:14 ?        00:00:00 db2sysc 0\nroot      1425  1354  0 13:14 ?        00:00:00 db2ckpwd 0\nroot      1426  1354  0 13:14 ?        00:00:00 db2ckpwd 0\nroot      1427  1354  0 13:14 ?        00:00:00 db2ckpwd 0\ndb2inst1  1429  1354  1 13:14 ?        00:00:00 db2vend (PD Vendor Process - 1) 0\ndb2inst1  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\nroot      1458  1374  0 13:14 pts\/0    00:00:00 su - db2inst1\ndb2inst1  1459  1458  0 13:14 pts\/0    00:00:00 -bash\ndb2inst1  1867  1459 99 13:14 pts\/0    00:00:00 ps -ef\ndb2inst1  1868  1459  0 13:14 pts\/0    00:00:00 grep --color=auto db2\ndb2inst1@sles15-db2-root:~&gt; db2\n(c) Copyright IBM Corporation 1993,2007\nCommand Line Processor for DB2 Client 11.5.6.0\n\nYou can issue database manager commands and SQL statements from the command \nprompt. For example:\n    db2 =&gt; connect to sample\n    db2 =&gt; bind sample.bnd\n\nFor general help, type: ?.\nFor command help, type: ? command, where command can be\nthe first few keywords of a database manager command. For example:\n ? CATALOG DATABASE for help on the CATALOG DATABASE command\n ? CATALOG          for help on all of the CATALOG commands.\n\nTo exit db2 interactive mode, type QUIT at the command prompt. Outside \ninteractive mode, all commands must be prefixed with 'db2'.\nTo list the current command option settings, type LIST COMMAND OPTIONS.\n\nFor more detailed help, refer to the Online Reference Manual.\n\ndb2 =&gt; connect to db1\n\n   Database Connection Information\n\n Database server        = DB2\/LINUXX8664 11.5.6.0\n SQL authorization ID   = DB2INST1\n Local database alias   = DB1\n\ndb2 =&gt; \n<\/pre>\n<p>As this is on Linux there should be a systemd service definition somewhere:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3]\">\ndb2inst1@sles15-db2-root:~&gt; systemctl list-unit-files | grep db2\ndb2fmcd.service                                                           enabled         disabled     \ndb2inst1@sles15-db2-root:~&gt; systemctl status db2fmcd.service\n\u25cf db2fmcd.service - DB2 v11.5.6.0\n     Loaded: loaded (\/etc\/systemd\/system\/db2fmcd.service; enabled; vendor preset: disabled)\n     Active: active (running) since Thu 2022-01-20 13:13:16 CET; 1min 54s ago\n   Main PID: 543 (db2fmcd)\n      Tasks: 44\n     CGroup: \/system.slice\/db2fmcd.service\n             \u251c\u2500 543 \/opt\/ibm\/db2\/V11.5\/bin\/db2fmcd\n             \u251c\u25001354 db2wdog 0 [db2inst1]\n             \u251c\u25001356 db2sysc 0\n             \u251c\u25001425 db2ckpwd 0\n             \u251c\u25001426 db2ckpwd 0\n             \u251c\u25001427 db2ckpwd 0\n             \u251c\u25001429 db2vend (PD Vendor Process - 1) 0\n             \u2514\u25001438 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\n<\/pre>\n<p>That&#8217;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 <a href=\"https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=unix-limitations-non-root-installations\" target=\"_blank\" rel=\"noopener\">limitations<\/a> of the non-root installation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[56,57,82],"type_dbi":[],"class_list":["post-258","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-db2","tag-ibm","tag-root-installation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Setting up IBM Db2 on Linux - root installation - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setting up IBM Db2 on Linux - root installation\" \/>\n<meta property=\"og:description\" content=\"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 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-20T17:11:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-06T06:26:59+00:00\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"Setting up IBM Db2 on Linux &#8211; root installation\",\"datePublished\":\"2022-01-20T17:11:59+00:00\",\"dateModified\":\"2022-04-06T06:26:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/\"},\"wordCount\":363,\"commentCount\":2,\"keywords\":[\"DB2\",\"IBM\",\"root installation\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/\",\"name\":\"Setting up IBM Db2 on Linux - root installation - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2022-01-20T17:11:59+00:00\",\"dateModified\":\"2022-04-06T06:26:59+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Setting up IBM Db2 on Linux &#8211; root installation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Setting up IBM Db2 on Linux - root installation - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/","og_locale":"en_US","og_type":"article","og_title":"Setting up IBM Db2 on Linux - root installation","og_description":"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 [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/","og_site_name":"dbi Blog","article_published_time":"2022-01-20T17:11:59+00:00","article_modified_time":"2022-04-06T06:26:59+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"Setting up IBM Db2 on Linux &#8211; root installation","datePublished":"2022-01-20T17:11:59+00:00","dateModified":"2022-04-06T06:26:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/"},"wordCount":363,"commentCount":2,"keywords":["DB2","IBM","root installation"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/","url":"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/","name":"Setting up IBM Db2 on Linux - root installation - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2022-01-20T17:11:59+00:00","dateModified":"2022-04-06T06:26:59+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/setting-up-ibm-db2-on-linux-root-installation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Setting up IBM Db2 on Linux &#8211; root installation"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=258"}],"version-history":[{"count":5,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/258\/revisions"}],"predecessor-version":[{"id":717,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/258\/revisions\/717"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=258"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}