Thursday, 22 December 2016

DB2 10.5 - Autostarting on Red Hat Enterprise Linux 7.2

I'm getting to grips with Red Hat Enterprise Linux (RHEL) 7.2, in the context of DB2, IBM BPM etc.

Question

Why does DB2 not autostart on Red Hat Enterprise Linux 7 

Cause

In Red Hat Enterprise Linux 7, systemd replaces upstart as the default init system. 

The DB2 fault monitor does not support the systemd init system.

so here we go: -

Check RHEL version

cat /etc/redhat-release 

Red Hat Enterprise Linux Server release 7.2 (Maipo)

Check DB2 version

/opt/ibm/db2/V10.5/bin/db2level

DB21085I  This instance or install (instance name, where applicable: 
"db2inst1") uses "64" bits and DB2 code release "SQL10058" with level 
identifier "0609010E".
Informational tokens are "DB2 v10.5.0.8", "s160901", "IP23993", and Fix Pack 
"8".
Product is installed at "/opt/ibm/db2/V10.5".


Checking what's in the inittab

cat /etc/inittab 

# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
fmc:2345:respawn:/opt/ibm/db2/V10.5/bin/db2fmcd #DB2 Fault Monitor Coordinator

Removing the db2fmcd entry

( as root )

/opt/ibm/db2/V10.5/bin/db2fmcu -d

cat /etc/inittab

# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#


Create db2fmcd.service file

vi /etc/systemd/system/db2fmcd.service

[Unit]
Description=DB2V105

[Service]
ExecStart=/opt/ibm/db2/V10.5/bin/db2fmcd
Restart=always

[Install]
WantedBy=default.target

Enable new service

systemctl enable db2fmcd
systemctl start db2fmcd

Reboot

reboot

Check what's running

ps -elf | grep -i db2

4 S dasusr1   1038     1  0  80   0 - 88040 poll_s 06:54 ?        00:00:00 /home/dasusr1/das/adm/db2dasrrm
4 S root      1403     1  0  80   0 - 300693 futex_ 06:54 ?       00:00:00 db2wdog 0 [db2inst1]
4 S db2inst1  1405  1403  0  80   0 - 383197 futex_ 06:54 ?       00:00:00 db2sysc 0
1 S root      1411  1403  0  80   0 - 300693 msgrcv 06:54 ?       00:00:00 db2ckpwd 0
1 S root      1412  1403  0  80   0 - 300693 msgrcv 06:54 ?       00:00:00 db2ckpwd 0
1 S root      1413  1403  0  80   0 - 300693 msgrcv 06:54 ?       00:00:00 db2ckpwd 0
4 S db2inst1  1423  1403  0  80   0 - 169326 SYSC_s 06:54 ?       00:00:00 db2acd 0 ,0,0,0,1,0,0,0,0000,1,0,995cf0,14,1e014,2,0,1,41fc0,0x210000000,0x210000000,1600000,20002,2,a8010
0 S db2inst1  1505  1403  0  80   0 - 127272 pipe_w 06:55 ?       00:00:00 db2vend (PD Vendor Process - 1) 0
4 S root      1511   984  0  80   0 - 28162 pipe_w 06:55 pts/0    00:00:00 grep --color=auto -i db2


netstat -aon | grep 60006

tcp6       0      0 :::60006                :::*                    LISTEN      off (0.00/0/0)

With thanks to this: -

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...