Skip to Content
IBM Db2 for Linux, UNIX, and Windows

How to shut down DB2 LUW fully when it is hung in unix / linux.

Shutting down db2 luw fully when it is hung (has processes hung in unix / linux).

     ***************************************************************************************************

     if the following fails to stop DB2 LUW on unix / linux . . .

     ***************************************************************************************************

             ***************************************************************************************************

             db2 list applications

             db2 force applications "(<pid>)"

             db2 force applications "(####)"

             db2 list applications

             db2stop

             ***************************************************************************************************

Here are steps one is able to take to brute force method shutdown DB2 LUW on unix / linux.

     ***************************************************************************************************

     using . . . x6d . . . as the <SID> in the following items . . .

     ***************************************************************************************************

     1.  db2 list applications / db2 force applications . . . / db2stop . . . if any of these hang / if any of these fail to finish . . .

     2.  db2_kill . . . this may or may not succeed . . . if db2_kill hangs also just continue with the following steps.

     3.  ps -ef | grep -i x6d . . .   check for db2 processes run by db2x6d or x6dadm

     4.  if there is(are) orphaned process(es) still, kill them using unix . . . kill -9  <process_id>

     5.  ipclean -a

     6.  ipcs -a | grep -i x6d     . . . make sure ipclean succeeded . . . - this should come back with no output.

     7.  if . . . ipcs -a | grep -i x6d . . . does come back with output

            ipclean failed to clear up all the IPC resources

         one will have to delete them manually as the root userid using ipcrm . . .

            ipcrm -q #### (for message queues)

            ipcrm -m #### (for shared memory)

            ipcrm -s #### (for semaphores)

     ***************************************************************************************************

     ***************************************************************************************************

Below is an example of the above commands done on an in-house sandbox SAP system with <SID>=X6D.

0.  prepare situation for the seven steps listed above

     ***************************************************************************************************

     0.1.  logged in with putty session as db2<sid> userid.

     ***************************************************************************************************

        telnet (slingaix)

        AIX Version 6

        Copyright IBM Corporation, 1982, 2015.

        login: db2x6d

        db2x6d's Password:

        *******************************************************************************

        *  Welcome to AIX Version 6.1!                                                *

        *******************************************************************************

        Last unsuccessful login: Mon May 16 20:26:18 2015 on

        Last login: Fri May 20 02:18:56 2016 on

      

        slingaix:db2x6d 1>

     ***************************************************************************************************

     0.2.  verify csh shell is being used.

     ***************************************************************************************************

        slingaix:db2x6d 1> ps -p $$

              PID    TTY  TIME CMD

         22282816  pts/8  0:00 csh

        slingaix:db2x6d 2>

     ***************************************************************************************************

     0.3.  set prompt to expose shell:[userid]@[hostname]:[current_directory]>

     ***************************************************************************************************

        slingaix:db2x6d 2> setenv SHELL csh

        slingaix:db2x6d 3> setenv xxshell

        slingaix:db2x6d 3> set prompt="`echo $xxshell`:`id |cut -f2 -d'(' |cut -f1 -d')'`@`hostname | cut -f1 -d'.'`:`pwd`> "

        slingaix:db2x6d 3> alias idmw "id |cut -f2 -d'(' |cut -f1 -d')'"

        slingaix:db2x6d 4> alias cd 'chdir \!* && set prompt="`echo $xxshell`:`idmw`@`hostname | cut -f1 -d'.'`:`pwd`> "'

        csh:db2x6d@slingaix:/db2/db2x6d>

     ***************************************************************************************************

     0.4.  list processes associated with sap and db2 luw . . . (the list below was edited to only show db2 processes)

     ***************************************************************************************************

        csh:db2x6d@slingaix:/> ps -ef | grep sap | grep -v grep; ps -ef | grep db2 | grep -v grep

          . . .

          db2x6d  4653258        1   0 02:17:52      -  0:00 /db2/db2x6d/sqllib/bin/db2bp 11862174A820 5 A

          . . .

          db2x6d 24576090 22282816   0 02:34:07  pts/8  0:00 db2

          db2x6d 24772774 22872206   0 02:37:19 pts/10  0:00 db2pd

          . . .

            root  1507824        1   0 02:13:44      -  0:00 db2wdog 0

          db2x6d  4260152        1   0 02:17:03      -  0:00 /db2/db2x6d/sqllib/bin/db2bp 24838148A820 5 A

            root  5636466 23528312   0 02:13:44      -  0:00 db2ckpwd 0

          . . .

            root 10289526 23528312   0 02:13:44      -  0:00 db2ckpwd 0

          db2x6d 14942710 23528312   0 02:13:45      -  0:00 db2vend (PD Vendor Process - 258)

          . . .

            root 19595734 23528312   0 02:13:44      -  0:00 db2ckpwd 0

          db2x6d  4391668  1507824   0 02:13:46      -  0:03 db2acd 0

          db2x6d  4784718        1   0 02:21:04      -  0:00 /db2/db2x6d/sqllib/bin/db2bp 5505540A820 5 A

          db2x6d  6161042        1   0 02:22:01      -  0:00 db2

          db2x6d 13501126        1   0 02:34:07      -  0:00 /db2/db2x6d/sqllib/bin/db2bp 22282816A820 5 A

          db2x6d 15008262        1   0 02:28:44      -  0:00 /db2/db2x6d/sqllib/bin/db2bp 19333540A820 5 A

          . . .

          db2x6d  4391864  4784340   0 02:25:22 pts/11  0:02 topas

          db2x6d 11273024 11862174   0 02:23:15  pts/6  0:00 db2

          . . .

          db2x6d 18678590        1   0 02:17:30      -  0:00 /db2/db2x6d/sqllib/bin/db2bp 9240584A820 5 A

          db2x6d 22348740 24838148   0 02:17:03  pts/2  0:00 db2

          db2x6d 22741888  9240584   0 02:17:30  pts/5  0:00 db2

          db2x6d 23528312  1507824 134 02:13:44      - 16:08 db2sysc 0

        csh:db2x6d@slingaix:/>

1.  db2 list applications / db2 force applications . . . / db2stop . . . if any of these hang / if any of these fail to finish . . .

     ***************************************************************************************************

     atttempt to execute . . . db2 list applications

     ***************************************************************************************************

        csh:db2x6d@slingaix:/> db2 list applications

        . . . this hangs . . .

     ***************************************************************************************************

     1.1  opened new putty session . . .

     ***************************************************************************************************

        since session in 1. above is hung, then opened new putty session . . .

           then did steps 0.1. thru 0.3. above

2.  db2_kill . . . this may or may not succeed . . . if db2_kill hangs also just continue with the following steps.

     ***************************************************************************************************

        csh:db2x6d@slingaix:/> /db2/db2x6d/sqllib/bin/db2_kill

        ipclean: Removing DB2 engine and client's IPC resources for db2x6d.

        csh:db2x6d@slingaix:/>

3.  ps -ef | grep -i x6d . . .   check for db2 processes run by db2x6d or x6dadm

     ***************************************************************************************************

        csh:db2x6d@slingaix:/> ps -ef | grep -i x6d

          . . .

          db2x6d 24772774 22872206   0 02:37:19 pts/10  0:00 db2pd

          . . .

          db2x6d  5898870        1   0 02:44:11      -  0:00 /db2/db2x6d/sqllib/bin/db2bp 11862174A820 5 A

          . . .

          db2x6d 22348740 24838148   0 02:17:03  pts/2  0:00 db2

          db2x6d 23528330        1   0 02:44:21      -  0:00 /db2/db2x6d/sqllib/bin/db2bp 19333540A820 5 A

        csh:db2x6d@slingaix:/>

4.  if there is(are) orphaned process(es) still, kill them using unix . . . kill -9  <process_id>

     ***************************************************************************************************

        csh:db2x6d@slingaix:/> kill -9 24772774 5898870 22348740 23528330

        csh:db2x6d@slingaix:/>

        ***************************************************************************************************

        4.1  verity the kill -9 succeeded

        ***************************************************************************************************

                csh:db2x6d@slingaix:/> ps -ef | grep -i x6d

                  . . .

                csh:db2x6d@slingaix:/>

5.  ipclean -a

     ***************************************************************************************************

        csh:db2x6d@slingaix:/> which ipclean

        /db2/db2x6d/sqllib/bin/ipclean

        csh:db2x6d@slingaix:/> ipclean -a

        ipclean: Removing all IPC resources for db2x6d.

        csh:db2x6d@slingaix:/>

6.  ipcs -a | grep -i x6d     . . . make sure ipclean succeeded . . . - this should come back with no output.

     ***************************************************************************************************

        csh:db2x6d@slingaix:/> ipcs -a | grep -i x6d

        m   2097169 0x00002752 --rw-r----- x6dadm sapsys x6dadm sapsys   0 348685544 2950134 2950134 ...

        m   1048693 0x0382be85 --rw-r----- x6dadm sapsys x6dadm sapsys   0      4096 4326170 4391668 ...

        m   4194423 0x0000271a --rw-r----- x6dadm sapsys x6dadm sapsys   0 200000000 2950134 2950134 ...

        s       133 0x002deeeb --ra-r----- x6dadm sapsys x6dadm sapsys 60 22:25:50  6:11:51

        s       142 0x002deeea --ra-r----- x6dadm sapsys x6dadm sapsys 60 22:07:25  6:12:06

7.  if . . . ipcs -a | grep -i x6d . . . does come back with output

       ipclean failed to clear up all the IPC resources

         one will have to delete them manually as the root userid using ipcrm . . .

            ipcrm -q #### (for message queues)

            ipcrm -m #### (for shared memory)

            ipcrm -s #### (for semaphores)

        one with the ability to login in as root must complete the last items . . .

        ***************************************************************************************************

        csh:root@slingaix:/> ipcrm -m 2097169

        csh:root@slingaix:/> ipcrm -m 1048693

        csh:root@slingaix:/> ipcrm -m 4194423

        csh:root@slingaix:/> ipcrm -s 133

        csh:root@slingaix:/> ipcrm -s 142