SQL5043N Support for one or more communications protocols failed to start successfully

db2

We have db2 express-c x86_64 installed on Ubuntu Hardy (8.04). When I try to start the server, we see the following which we think is preventing db2 from acquiring port 50000 (nmap -sS -O 127.0.0.1 does not show db2):

$ . ~db2inst1/sqllib/db2profile
$ db2start
SQL5043N  Support for one or more communications protocols failed to start successfully. However, co
re database manager functionality started successfully.

Here is what db2diag shows:

2010-02-15-20.55.03.560232-360 I51779E417          LEVEL: Event
PID     : 2044                 TID  : 47604511533392PROC : db2sysc
INSTANCE: db2inst1             NODE : 000
EDUID   : 1                    EDUNAME: db2sysc
FUNCTION: DB2 UDB, fast comm manager, sqlkf_init_allocate_shared, probe:500
START   : FCM infrastructure started
FCM running in non-shared mode; FCM parallelism degree: 1; comm protocol: TCP/IPv4

2010-02-15-20.55.04.266997-360 I52197E459          LEVEL: Error
PID     : 2044                 TID  : 47604511533392PROC : db2sysc
INSTANCE: db2inst1             NODE : 000
EDUID   : 1                    EDUNAME: db2sysc
FUNCTION: DB2 UDB, common communication, sqlcctcpconnmgr, probe:5
MESSAGE : DIA3201E The service name "db2c_db2inst1" specified in the database 
          manager configuration file cannot be found in the TCP/IP services 
          file.

2010-02-15-20.55.05.404750-360 E52657E305          LEVEL: Event
PID     : 2039                 TID  : 48004268800672PROC : db2star2
INSTANCE: db2inst1             NODE : 000
FUNCTION: DB2 UDB, base sys utilities, DB2StartMain, probe:911
MESSAGE : ADM7513W  Database manager has started.
START   : DB2 DBM

Best Answer

The DB2 database manager configuration parameter SVCENAME is set to the value db2c_db2inst1. This is resolved to an actual port number using the /etc/services file.

So, you need to add an entry to /etc/services, like:

db2c_db2inst1          50000/tcp    # DB2 connections for db2inst1

Good luck,