Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DB2 database communication problem

1,430 views
Skip to first unread message

atrinh

unread,
Dec 27, 1999, 3:00:00 AM12/27/99
to
The following is my environment:

Box #1 Solaris 2.6 box with: DB2 Administration Client, Net.Data, JDK,
WebSphere, Payment Server and Net.Commerce Pro 3.2

Box #2 Solaris 2.6 with: DB2 UDB Enterprise Edition.

The database communication was working until after trying to set up the
Payment server with db2 command “db2 catalog database ncsqa at node
SQL0104N authentication client”

Error log on DB2 client with Net.Commerce:
Trying to connect to a database name “ncsqa”

$ db2 connect to ncsqa user db2inst1 using db2inst1
SQL30081N A communication error has been detected. Communication
Protocol being used: "TCP/IP". Communication API being used: "SOCKETS".

Location where the error was detected: "". Communication function
detecting the
error: "connect". Protocol specific error code(s): "146", "*", "*".
SQLSTATE=08001

Error log on DB2 server:
$ db2start
SQL5043N Support for one or more communications protocols failed to
start successfully. However, core database manager functionality started
successfully.

Any suggestion to solve this problem will be highly appreciate it.

Thank you!

Alvin Anh Trinh

atr...@bbn.com


Stephen Holt

unread,
Dec 27, 1999, 3:00:00 AM12/27/99
to
Your description has the payment server and UDB on different machines, so I
have no idea how communications could suddenly stop working.

It looks like the server is unable to start UDB with TCP/IP, so I would
start by trying to get rid of the SQL5043 on the server. Try verifying that
TCP/IP is actually working, by pinging the two machines from each other.
Then verify that the /etc/services port entries are correct for UDB, and
that the port #/name is entered as the SVCENAME in the DBM CFG.

If that gets rid of the SQL5043 on the server, then make sure you are
cataloging the node and database correctly, and specifying the correct port
number/name.

Hope that helps.

Stephen E. Holt
Prevail Tehnology - http://www.prevailtech.com


atrinh <atr...@bbn.com> wrote in message news:38677F39...@bbn.com...

atrinh

unread,
Dec 28, 1999, 3:00:00 AM12/28/99
to
Stephen,

I don't  have any network connectivity problem with my machines.  I just couldn't connect into my remote database.

$ db2 connect to ncsqa user db2inst1 using db2inst1
SQL30081N  A communication error has been detected.  Communication protocol
being used: "TCP/IP".  Communication API being used: "SOCKETS".  Location
where the error was detected: "".  Communication function detecting the error:
"connect".  Protocol specific error code(s): "146", "*", "*".  SQLSTATE=08001
$


I still don't know how to resolve the error message bebow on my database server.

$ db2stop
SQL1064N  DB2STOP processing was successful.

$ db2start
SQL5043N  Support for one or more communications protocols failed to  start successfully. However, core databa
se manager functionality started successfully.

$

Thanks for your helps.

Alvin

atrinh

unread,
Dec 28, 1999, 3:00:00 AM12/28/99
to
Mike,

There is no such log db2diag.log on my system. Where is this log
location?
I don't see anything in /home/db2inst1/sqllib/log directory on my
system.

Thanks for your help.

Alvin

Mike Wang wrote:

> atrinh wrote:
>
>> The following is my environment:
>>

>> $ db2start
>> SQL5043N Support for one or more communications protocols failed to
>>
>> start successfully. However, core database manager functionality
>> started
>> successfully.
>

> Check the db2diag.log file to find out more on which protocol it
> failed and how.
>
> HTH
> Mike Wang
>


Blair Kenneth Adamache

unread,
Dec 28, 1999, 3:00:00 AM12/28/99
to
Try /home/db2inst1/sqllib/db2

Blair Kenneth Adamache

unread,
Dec 28, 1999, 3:00:00 AM12/28/99
to
Or the path specified by the DIAGPATH database manager configuration
parameter.

atrinh

unread,
Dec 28, 1999, 3:00:00 AM12/28/99
to
Blair,

I found it, it's under /home/db2inst1/sqllib/db2dump directory, but I don't
really know how to trouble shoot from this error log.

DB2 Database Server db2diag.log's log:
eh092su2.bbnplanet.com:/home/db2inst1/sqllib/db2dump# tail -10 db2diag.log
PID:540(db2tcpcm) Appid:none
common_communication sqlcctcpconnmgr_child Probe:5
DIA3201E The service name "db2inst1" specified in the database manager
configuration file cannot be found in the TCP/IP services file.

1999-12-28-14.00.27.002093 Instance:db2inst1 Node:000
PID:584(db2tcpcm) Appid:none
common_communication sqlcctcpconnmgr_child Probe:5
DIA3201E The service name "db2inst1" specified in the database manager
configuration file cannot be found in the TCP/IP services file.

Net.Commerce Server with DB2 client db2diag.log's log:
eh094su10.bbnplanet.com:/home/db2inst1/sqllib/db2dump# tail -10 db2diag.log

1999-12-28-13.56.45.245052 Instance:db2inst1 Node:000
PID:624(db2bp) Appid:
common_communication sqlcctcpconnr Probe:101
DIA3202C The TCP/IP call "connect" returned an errno="146".

1999-12-28-14.20.19.426582 Instance:db2inst1 Node:000
PID:644(db2bp) Appid:
common_communication sqlcctcpconnr Probe:101
DIA3202C The TCP/IP call "connect" returned an errno="146".

Base on this db2diag.log, do you know what the problem was, and how to
resolve it. Please let me know in detail how to trouble shoot this if you
know the answer.

Thanks in advance and thanks for you help.

Alvin

Serge Rielau

unread,
Dec 28, 1999, 3:00:00 AM12/28/99
to
Hi Alvin,
This doesn't smell right:

DIA3201E The service name "db2inst1" specified in the database manager
configuration file cannot be found in the TCP/IP services file.

My instance "srielau" has these entries on AIX
> grep "srielau" /etc/services
xsrielau 30234/tcp
xsrielau_int 30235/tcp
DB2_srielau 58468/tcp
DB2_srielau_END 58471/tcp

What do you have?
Not that I know much about it - just pattern-matching here ;-)
Cheers
Serge

Stephen Holt

unread,
Dec 29, 1999, 3:00:00 AM12/29/99
to
Alvin,
 
You managed to find the problem in one of your other posts.  The db2diag.log entry:
 
DIA3201E The service name "db2inst1" specified in the database manager
configuration file cannot be found in the TCP/IP services file.
If you look in the "troubleshooting guide" under TCP/IP problems, there is a section called "SQL5043N received on server for TCP/IP". 
 
There was a good section in the V5 Quick beginnings for UNIX called "Configuring TCP/IP on the server" which explains everything you have to go over.  For some reason, this section does not exist in the V6 docs..
atrinh <atr...@bbn.com> wrote in message news:3869091E...@bbn.com...

atrinh

unread,
Dec 29, 1999, 3:00:00 AM12/29/99
to
Stephen,

I don't have db2 trouble shooting guide or V5 Quick beginnings for UNIX, because I'm using V6.1.  Where can I get db2 trouble shooting guide?  I just re-build my Net.Commerce and db2 boxes so I don't don't have problem with the connection yet :0).

Thanks for all yours help .

Alvin
 
 

Stephen Holt wrote:

Alvin, You managed to find the problem in one of your other posts.  The db2diag.log entry: DIA3201E The service name "db2inst1" specified in the database manager

configuration file cannot be found in the TCP/IP services file.If you look in the "troubleshooting guide" under TCP/IP problems, there is a section called "SQL5043N received on server for TCP/IP". There was a good section in the V5 Quick beginnings for UNIX called "Configuring TCP/IP on the server" which explains everything you have to go over.  For some reason, this section does not exist in the V6 docs..

Stephen Holt

unread,
Dec 29, 1999, 3:00:00 AM12/29/99
to

Christopher Seawood

unread,
Dec 29, 1999, 3:00:00 AM12/29/99
to
atrinh wrote:
>
> Blair,
>
> I found it, it's under /home/db2inst1/sqllib/db2dump directory, but I don't
> really know how to trouble shoot from this error log.
>
> DB2 Database Server db2diag.log's log:
> eh092su2.bbnplanet.com:/home/db2inst1/sqllib/db2dump# tail -10 db2diag.log
> PID:540(db2tcpcm) Appid:none
> common_communication sqlcctcpconnmgr_child Probe:5
> DIA3201E The service name "db2inst1" specified in the database manager
> configuration file cannot be found in the TCP/IP services file.

It sounds like you need to define a service in /etc/services that corresponds to the service name you gave db2 when you created the instance. This sounds strange because, iirc, it added the services to /etc/services for me when I created the instance during the db2 install.

Adding 'db2inst1 50000/tcp' to /etc/services may fix this problem. Substitute 50000 with whatever port you're using, of course.

- cls

Herbie

unread,
Dec 30, 1999, 3:00:00 AM12/30/99
to
Geezo, a connection and operations of a DB2 application reminds one of a
<insert ethnicid>firedrill.
 
--Hal

babe root

unread,
Jan 3, 2000, 3:00:00 AM1/3/00
to
I have been through this problem. Follow these steps it might work for you.
 
1. Check if you have already setup your /etc/services file for your TCPIP connection    (i.e db2inst1   50000/tcp)
 
2. update your database configuration by issuing this command
    db2 update dbm cfg using svcename <servicename you use in /etc/servicesfile>
    db2stop
    db2start
 
3. set your DB2COMM environment variable by this command
    db2set DB2COMM=tcpip
    db2stop
    db2start

chuckm

unread,
Jan 4, 2000, 3:00:00 AM1/4/00
to
Hello Folks,

I seem to have the same problem. However, the steps you've suggested don't work. I must be missing some setting or parameter.

On the AIX server side:  (the DB2 instance is running as 'db2inst1')

Here is a snippet of my AIX DB2 config:
 TCP/IP Service name                          (SVCENAME) = db2cdb2inst1
...
 Discovery mode                               (DISCOVER) = SEARCH
 Discovery communication protocols       (DISCOVER_COMM) = TCPIP
 Discover server instance                (DISCOVER_INST) = ENABLE

Here are the associated entries in the AIX /etc/services file:
# cat /etc/services | grep db2
db2cdb2inst1    50000/tcp   # Connection port for DB2 instance db2inst1
db2idb2inst1    50001/tcp   # Interrupt  port for DB2 instance db2inst1

The DB2COMM environment variable is set for all users:
# set | sort | grep DB2
DB2COMM=TCPIP
DB2INSTANCE=db2inst1
 

On the Windows/NT workstation side:
I'm logged in as "db2admin" (a local administrator).
Must I be logged into Windows/NT as "db2inst1" ?

I'd appreciate any thoughts.

-- Chuck

Miro Flasza

unread,
Jan 4, 2000, 3:00:00 AM1/4/00
to
Chuck,

No, you don't have to be logged on as the instance owner. If the
discovery doesn't work it usually indicates that the db2 admin
server hasn't been set up properly on the server machine. You
can set up the remote host info on the client manually using
the "CATALOG TCPIP NODE" command (please refer to the Command
Reference). You need to specify the remote (server) host name
and the port number the db2 server listens on. Once you've
successfully cataloged a remote node you can either use the
"ATTACH NODE" command or the "CATALOG DATABASE" command to access
the remote databases. Hope this helps.

Regards,
Miro

Chuck Moore

unread,
Jan 9, 2000, 3:00:00 AM1/9/00
to
Miro,

Thank you. Thank you. Thank you.

If anyone else is interested, here is what I did: (using the Windows/NT userid "db2admin" mentioned
below)
1) Added the following to the C:\WINNT\system32\drivers\etc\SERVICES file :


db2cdb2inst1 50000/tcp # Connection port for DB2 instance db2inst1
db2idb2inst1 50001/tcp # Interrupt port for DB2 instance db2inst1

2) Executed the following command on Windows/NT DB2 Command Center:
db2 catalog tcpip
node InsideWa
remote dis-incore1.dis.wa.gov
server db2cdb2inst1
ostype AIX
with "InsideWa: db2inst1"
3) added the database "Sample" by right-clicking on icon created by (2)
4) viewed the tables in Sample database by clicking on Tables icon created by (3) and entering the remote
(i.e. AIX machine's) DB2 administration userid & password
5) Voila !

-- Chuck
************************************************************************
In article <387232F6...@torolab.ibm.com>, mi...@torolab.ibm.com says...

0 new messages