DB2 Express C on CentOS or RHEL and like

Set SELinux to permissive, editing /etc/selinux/config.

$ sudo yum install kernel-headers gcc-c++ cpp gcc pam.i686 compat-libstdc++-33

Create a db2 user:

$ sudo useradd db2
$ sudo passwd db2

Change to db2 user. If you run db2prereqcheck utility you will receive a this message: The db2prereqcheck utility determined that the current platform is not supported by the following version: “9.8.0.2”. You can ignore it if you are using CentOS.

$ ./db2_install

Systemd

[Unit]
Description=Starts db2.

[Service]
Type=forking
User=db2
ExecStart=/bin/bash -c "source /home/db2/sqllib/db2profile ; /home/db2/sqllib/adm/db2start"
ExecStop=/bin/bash -c "source /home/db2/sqllib/db2profile ; /home/db2/sqllib/adm/db2stop"

[Install]
WantedBy=multi-user.target

If you have more databases:

[Unit]
Description=Starts db2.

[Service]
Type=forking
User=db2inst1
ExecStart=/bin/bash -c "source /home/db2inst1/sqllib/db2profile ; /home/db2inst1/sqllib/adm/db2start"
ExecStartPost=/bin/bash -c "source /home/db2inst1/sqllib/db2profile; /home/db2inst1/sqllib/bin/db2 activate database APPCNTR ; /home/db2inst1/sqllib/bin/db2 activate database MFPDATA"
ExecStop=/bin/bash -c "source /home/db2inst1/sqllib/db2profile ; /home/db2inst1/sqllib/bin/db2 deactivate database MFPDATA"
ExecStop=/bin/bash -c "source /home/db2inst1/sqllib/db2profile ; /home/db2inst1/sqllib/bin/db2 deactivate database APPCNTR"
ExecStop=/bin/bash -c "source /home/db2inst1/sqllib/db2profile ; /home/db2inst1/sqllib/adm/db2stop"

[Install]
WantedBy=multi-user.target
install_db2_express_centos.txt · Last modified: 2018/08/29 12:02
Public Domain Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain