Before you start
I suggest you are pepared for some addtional frustration, but it is moderate.
My assumption is at this point that you downloaded and unpacked the DB2 Software.
As on the MariaDB please see the Credits at the End. Some research was involved.1
Do this as root user
If root doesn't have a password yet, enter
sudo passwd
Start using root by entering
su
Install DB2
useradd -d /dbdata/db2inst1 db2inst1
useradd db2fenc1
passwd db2inst1
passwd db2fenc1
IMPORTANT! Check that the directory /dbdata/db2inst1 has been created or create it.
ls /dbdata/db2inst1
mkdir /dbdata/db2inst1
Change to the Install Directory
cd /opt/ibm/db2/<version>/instance
Create the Instance
./db2icrt db2fenc1 db2inst1
Connect to the Instance
su - db2inst1
Repeat the Steps for any other Instances you like to create.
Start the Database
db2start
If db2start fails with Error Message that a Library could not be found, IBM is a bit behind with Linux Verions.
Finding the missing Libraries2
sudo find / -name libaws-cpp-sdk-core.so
The Result might be
/opt/ibm/db2/V11.5.9fp0/lib64/awssdk/UBUNTU/20.04/libaws-cpp-sdk-core.so
/opt/ibm/db2/V11.5.9fp0/lib64/awssdk/UBUNTU/22.04/libaws-cpp-sdk-core.so
/opt/ibm/db2/V11.5.9fp0/lib64/awssdk/UBUNTU/18.04/libaws-cpp-sdk-core.so
/opt/ibm/db2/V11.5.9fp0/lib64/awssdk/RHEL/8.1/libaws-cpp-sdk-core.so
/opt/ibm/db2/V11.5.9fp0/lib64/awssdk/RHEL/9.2/libaws-cpp-sdk-core.so
/opt/ibm/db2/V11.5.9fp0/lib64/awssdk/RHEL/7.6/libaws-cpp-sdk-core.so
/opt/ibm/db2/V11.5.9fp0/lib64/awssdk/SLES/12.4/libaws-cpp-sdk-core.so
/opt/ibm/db2/V11.5.9fp0/lib64/awssdk/SLES/15.1/libaws-cpp-sdk-core.so<
/opt/ibm/db2/V11.5.9fp0/lib64/libaws-cpp-sdk-core.so
Based on your OS, create Symbolic Links
cd /opt/ibm/db2/V11.5.9fp0/lib64
sudo ln -s awssdk/RHEL/8.1/libaws-cpp-sdk-core.so libaws-cpp-sdk-core.so
sudo ln -s awssdk/RHEL/8.1/libaws-cpp-sdk-kinesis.so libaws-cpp-sdk-kinesis.so
sudo ln -s awssdk/RHEL/8.1/libaws-cpp-sdk-s3.so libaws-cpp-sdk-s3.so
sudo ln -s awssdk/RHEL/8.1/libaws-cpp-sdk-transfer.so libaws-cpp-sdk-transfer.so
Try staring the Database again
./db2start
Whops Banana: SQL10007N Message "-1390" could not be retrieved. Reason code: "3"4
That Points to the Environment Variable DB2INSTANCE not being set.
Edit ./bashrc and add
export DB2INSTANCE=db2inst1
This is very IMPORTANT and I will elaborate on that more when it comes to Data Access
Try staring the Database again
./db2start
If you want to start DB2 via Systemd
Edit /etc/systemd/system/db2inst1.service
[Unit]
Description=DB2 start/stop script
After=rsyslog.service network.service sshd.service systemd-logind.service
[Service]
Type=forking
ExecStart=/bin/bash -c "/dbdata/db2inst1/sqllib/adm/db2start"
ExecStop=/bin/bash -c "/dbdata/db2inst1/sqllib/adm/db2stop force"
Environment="DB2INSTANCE=db2inst1"
User=db2inst1
Group=db2iadm1
RestartSec=30
Restart=always
[Install]
WantedBy=multi-user.target
Enable it with
systemctl enable db2inst1
systemctl start db2inst1
Check Status with
systemctl status db2 -l
How was the Beer consumption thus far? When it comes to Data Access Setup, you need stronger stuff!.
If you want another Instance, repeat the Steps, but change 1 to 2 in the Groups and User Profiles,
the Service File
Credits:
https://www.choudharysumit.com/2020/09/db2-instance-creation-on-linux.html
https://https://dba.stackexchange.com/questions/333207/db2-v11-5-9-0-installation-error-while-loading-shared-libraries-libaws-cpp-sdk
https://www.choudharysumit.com/2020/10/sql10007n-message-1390-could-not-be.html
https://superuser.com/questions/1462161/how-to-hide-an-account-on-kde-login-screen
Fatal error: Uncaught mysqli_sql_exception: Data too long for column 'agent' at row 1 in /var/www/html/MartinBrieger/visitor.php:180
Stack trace:
#0 /var/www/html/MartinBrieger/visitor.php(180): mysqli->query()
#1 /var/www/html/MartinBrieger/db2_multi.php(244): visitor()
#2 {main}
thrown in /var/www/html/MartinBrieger/visitor.php on line 180