DB 2が接続できない問題の点検過程


今日の午前、テスト環境でDB 2 V 9.7を手動でインストールし、SVCENAMEを設定した後、clpplus接続で以下のエラーを報告しました。
 
[db2inst1@lstest ~]$ clpplus db2inst1/[email protected]:60000/sde
 
[jcc][t4][2043][11550][3.58.82]    java.net.ConnectException:     60,000      /192.168.100.228 
       ,   :    。 ERRORCODE=-4499, SQLSTATE
=08001
エラーから見たら60000ポートに問題があるはずです。
次に、netstatコマンドを使ってDB 2のdb 2 sysscが60000ポートを傍受しているかを確認した結果、次のようになりました。
netstat -lnp|grep 60000
戻ってきていないので、DB 2を再起動した例はそのままです。その後、DB 2内部のdb 2 tcpcmが起動しているかどうか確認します。
結果は以下の通りです
[db2inst1@lstest ~]$ db2pd -edu
 
Database
 Partition 0 -- Active -- Up 0 days 00:21:54
 
List of
 all
 EDUs for
 database
 partition 0
 
db2sysc PID: 27228
db2wdog PID: 27226
db2acd  PID: 27239
 
EDU ID    TID            Kernel TID     EDU Name                               USR (s)      SYS (s)
========================================================================================================================================
16        47112997824832 27492          db2agent (idle) 0                      0.010000     0.000000
15        47113002019136 27237          db2resync 0                            0.000000     0.000000
14        47113006213440 27236          db2ipccm 0                             0.000000     0.000000
13        47113010407744 27235          db2licc 0                              0.000000     0.000000
12        47113014602048 27234          db2thcln 0                             0.000000     0.000000
11        47113018796352 27233          db2alarm 0                             0.000000     0.000000
1         47112758749504 27232          db2sysc 0                              0.070000     0.090000
[db2inst1@lstest ~]$
db 2 tcpcmのeduは見つかりませんでした。db 2 ipcccmというeduしか見つけられませんでした。この時点で問題が見つかりました。DB 2の通信プロトコル環境変数が設定されていないと推定されます。db 2 setを使って結果は以下の通りです。
[db2inst1@lstest ~]$ db2set
DB2AUTOSTART=YES
やはり通信プロトコルの環境変数が設定されていません。次にTCPCOMMを設定します。tcpipです。
[db2inst1@lstest ~]$ db2set DB2COMM=tcpip
[db2inst1@lstest ~]$ db2set
DB2COMM=tcpip
DB2AUTOSTART=YES
[db2inst1@lstest ~]$ db2stop
2010-12-28 14:58:30     0   0   SQL1064N  DB2STOP processing was successful.
SQL1064N  DB2STOP processing was successful.
[db2inst1@lstest ~]$ db2start
12/28/2010 14:58:36     0   0   SQL1063N  DB2START processing was successful.
SQL1063N  DB2START processing was successful.
[db2inst1@lstest ~]$ netstat -lnp|grep 60000
(Not
 all
 processes could be identified, non-owned process info
 will not
 be shown, you would have to
 be root to
 see it all
.)
tcp        0      0 0.0.0.0:60000               0.0.0.0:*                   LISTEN      28505/db2sysc 0
[db2inst1@lstest ~]$ db2pd -edu
 
Database
 Partition 0 -- Active -- Up 0 days 00:00:57
 
List of
 all
 EDUs for
 database
 partition 0
 
db2sysc PID: 28505
db2wdog PID: 28503
db2acd  PID: 28520
 
EDU ID    TID            Kernel TID     EDU Name                               USR (s)      SYS (s)
========================================================================================================================================
19        47304052566336 28518          db2spmlw 0                             0.000000     0.000000
18        47304056760640 28517          db2spmrsy 0                            0.000000     0.030000
17        47304060954944 28516          db2resync 0                            0.000000     0.000000
16        47304065149248 28515          db2tcpcm 0                             0.000000     0.000000
15        47304069343552 28514          db2tcpcm 0                             0.000000     0.000000
14        47304073537856 28513          db2ipccm 0                             0.000000     0.000000
13        47304077732160 28512          db2licc 0                              0.000000     0.000000
12        47304081926464 28511          db2thcln 0                             0.000000     0.000000
11        47304086120768 28510          db2alarm 0                             0.000000     0.000000
1         47303826073920 28509          db2sysc 0                              0.020000     0.010000
この時はすでに2つのdb 2 tcpcmプロセスが含まれています。
clpplusを使うとスムーズに接続できます。
[db2inst1@lstest ~]$ clpplus db2inst1/[email protected]:60000/sde
       
 
    = 192.168.100.228
       = DB2/LINUXX8664  SQL09071
SQL
      = db2inst1
        = SDE
   = 60000
 
CLPPlus:    1.1
Copyright © 2009, IBM CORPORATION.  All
 rights reserved.
これで全部できます。