473,378 Members | 1,360 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

-30081 Solution

I wanted to post this for anyone else who has been in -30081 hell like
me. Our web servers run on the Windows platform and use DB2 Connect to
query our DB2 for z/OS systems. For the last 4 years I have been
getting between 20 and 100 SQL30081N errors a day from our web servers.
That is about a .01% failure rate. This problem has become a huge
political thing with our customers. It is the proverbial needle in a
haystack problem. I have opened two pmr's with IBM, asked questions at
the DB2 Tech Conf, and posted to this and other newsgroups about this
problem. Yet, not one answer.

Well, our network guy figured it out. Ironically, IBM and Microsoft
both know about this problem... On Windows Server 2000 and 2003, the
default available port range for tcp connections is 1025 to 5000.
There is a 4 minute timeout value. So when the DB2 Client seeks to
make a connection to DB2 Connect, it has to find an available port.
Once it finishes, that port is unavailable for 4 minutes. If you have
a busy system, you will get a -30081 if there are not any available
ports.

Both Microsoft and IBM recommend you increase this value by adding the
following registry key on the DB2 Client machine in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\TCPIP\Parameters,
create a new REG_DWORD named MaxUserPort. Set the value anywhere from
32768 to 65536.

Apparently, the Websphere folks know about this:
http://publib.boulder.ibm.com/infoce...v4r0/index.jsp, search
on maxuserport.

The Query Patroller folks know about this:
http://publib.boulder.ibm.com/infoce...w/v8/index.jsp, search on
maxuserport.

The installation of Microsoft Exchange automatically adds the registry
key.

The part that really, really hacks me off is this:
http://support.microsoft.com/kb/196271
Microsoft returns an error to the application when a port is not
available. Why in the world doesn't DB2 give me that information
instead of the generic -30081?!

Here is another idea, add this information to the DB2 Connect or Client
documentation. Websphere and Query Patroller have it...

Hope this helps someone else.

Craig Wahlmeier

Nov 6 '06 #1
2 4392
You have nearly 4000 ports available. If they become reusable after a
four minute timeout, then you are averaging just over 16 NEW connections
a second when you get the -30081 errors.

I'd much rather see some form of connection pooling at the client to
eliminate the CPU expense of the connect/disconnect processing. This
will significantly decrease the use of TCP/IP ports and free up CPU
cycles at both the client and the DB2 Connect server.
Phil Sherman

cw********@data-tronics.com wrote:
I wanted to post this for anyone else who has been in -30081 hell like
me. Our web servers run on the Windows platform and use DB2 Connect to
query our DB2 for z/OS systems. For the last 4 years I have been
getting between 20 and 100 SQL30081N errors a day from our web servers.
That is about a .01% failure rate. This problem has become a huge
political thing with our customers. It is the proverbial needle in a
haystack problem. I have opened two pmr's with IBM, asked questions at
the DB2 Tech Conf, and posted to this and other newsgroups about this
problem. Yet, not one answer.

Well, our network guy figured it out. Ironically, IBM and Microsoft
both know about this problem... On Windows Server 2000 and 2003, the
default available port range for tcp connections is 1025 to 5000.
There is a 4 minute timeout value. So when the DB2 Client seeks to
make a connection to DB2 Connect, it has to find an available port.
Once it finishes, that port is unavailable for 4 minutes. If you have
a busy system, you will get a -30081 if there are not any available
ports.

Both Microsoft and IBM recommend you increase this value by adding the
following registry key on the DB2 Client machine in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\TCPIP\Parameters,
create a new REG_DWORD named MaxUserPort. Set the value anywhere from
32768 to 65536.

Apparently, the Websphere folks know about this:
http://publib.boulder.ibm.com/infoce...v4r0/index.jsp, search
on maxuserport.

The Query Patroller folks know about this:
http://publib.boulder.ibm.com/infoce...w/v8/index.jsp, search on
maxuserport.

The installation of Microsoft Exchange automatically adds the registry
key.

The part that really, really hacks me off is this:
http://support.microsoft.com/kb/196271
Microsoft returns an error to the application when a port is not
available. Why in the world doesn't DB2 give me that information
instead of the generic -30081?!

Here is another idea, add this information to the DB2 Connect or Client
documentation. Websphere and Query Patroller have it...

Hope this helps someone else.

Craig Wahlmeier
Nov 9 '06 #2
Phil,

Each intranet "application" uses a different userid. We have over 1500
different userids. The opportunity to re-use is not as high as you
might like.

Thanks,

Craig
Phil Sherman wrote:
You have nearly 4000 ports available. If they become reusable after a
four minute timeout, then you are averaging just over 16 NEW connections
a second when you get the -30081 errors.

I'd much rather see some form of connection pooling at the client to
eliminate the CPU expense of the connect/disconnect processing. This
will significantly decrease the use of TCP/IP ports and free up CPU
cycles at both the client and the DB2 Connect server.
Phil Sherman

cw********@data-tronics.com wrote:
I wanted to post this for anyone else who has been in -30081 hell like
me. Our web servers run on the Windows platform and use DB2 Connect to
query our DB2 for z/OS systems. For the last 4 years I have been
getting between 20 and 100 SQL30081N errors a day from our web servers.
That is about a .01% failure rate. This problem has become a huge
political thing with our customers. It is the proverbial needle in a
haystack problem. I have opened two pmr's with IBM, asked questions at
the DB2 Tech Conf, and posted to this and other newsgroups about this
problem. Yet, not one answer.

Well, our network guy figured it out. Ironically, IBM and Microsoft
both know about this problem... On Windows Server 2000 and 2003, the
default available port range for tcp connections is 1025 to 5000.
There is a 4 minute timeout value. So when the DB2 Client seeks to
make a connection to DB2 Connect, it has to find an available port.
Once it finishes, that port is unavailable for 4 minutes. If you have
a busy system, you will get a -30081 if there are not any available
ports.

Both Microsoft and IBM recommend you increase this value by adding the
following registry key on the DB2 Client machine in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\TCPIP\Parameters,
create a new REG_DWORD named MaxUserPort. Set the value anywhere from
32768 to 65536.

Apparently, the Websphere folks know about this:
http://publib.boulder.ibm.com/infoce...v4r0/index.jsp, search
on maxuserport.

The Query Patroller folks know about this:
http://publib.boulder.ibm.com/infoce...w/v8/index.jsp, search on
maxuserport.

The installation of Microsoft Exchange automatically adds the registry
key.

The part that really, really hacks me off is this:
http://support.microsoft.com/kb/196271
Microsoft returns an error to the application when a port is not
available. Why in the world doesn't DB2 give me that information
instead of the generic -30081?!

Here is another idea, add this information to the DB2 Connect or Client
documentation. Websphere and Query Patroller have it...

Hope this helps someone else.

Craig Wahlmeier
Nov 10 '06 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Wayne Wengert | last post by:
I have a solution. I want to clone it to try some different options. Is there a way to open Solution A, save it as Solution B and then be able to try some things in Solution B without affecting...
10
by: Simon Jefferies | last post by:
Hello, I'm getting a strange problem where when I load up my solution that has three projects:- a managed C++ .NET, one C++ lib, and a VB library. It locks up and doesn't load completely, I...
0
by: TEK | last post by:
Hello We have a quite huge project. To limit the solution size, rebuild time and so on we have divided the project in two different solution. One solution that holds the buiness entities, or...
5
by: kai | last post by:
Hi, I use XP Pro and VS2005. I find when I create a new Website, I only see the Project node not Solution. After I add sedcond project under the solution tree, then I see the solution node. How...
5
by: Suresh | last post by:
Hi Guys I have Db2 server installed on remote server. i am connecting to that remote server by using VPN. I want to connect that remote DB2 server instance using my local machine DB2...
3
by: Manikandan | last post by:
Hi, I'm copying projects from a solution in the vss. In my local system i created solution ,added that project(make modification related to solution) When i added this solution to vss, projects...
0
by: techie | last post by:
List of Solution manuals: Engineering Circuit Analysis 6Ed - Hayt Solutions Manual Norbury - Solutions manual for mechanics and thermodynamics Physics For Scientists And Engineers - Solution...
9
by: GaryDean | last post by:
I know this is a vs issue but nobody seems to answer posts over there... In VS 2008 I can't seem to get a multiple project solution. If I create a blank solution and add a project to it, it...
16
by: =?Utf-8?B?RHdlZWJlcmVsbGE=?= | last post by:
I created an Access 2007 application for my customer. The application is shared by three employees on a server. It maintains a contact list including financial data and social security numbers. ...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.