I have encountered the same problem a while ago. Although no definitive
conclusion was
ever reached as to how to resolve this problem, I have found what *might*
be the root cause
of the problem and a not-so-pretty work-arounf. In a nutshell, DB2
requires the use of shared
memory which AIX limits to and x amount per process. As the limit is
reached DB2 can not longer
fork 'agents' as they call it and thus hinder the operation of more than 10
clients.
AIX allows you to set an Extended Shared Memory flag ON/OFF (EXTSHMEM I
think!!) whereby you're
telling any application that it's alright to use as much shared memory as
you wish. You can see how
this is dangerous!!
I have tried it on one of our database intensive servlets with and without
the flag being set. The good
thing, the servlet ran to completion with no complains, the bad thing,
however, a couple of hours later
processes in the system started using the extended share memory to their
liking bringing the system
down to its knees giving me not even a chance to fork a shutdown process.
Needless to say, I litterarly
pulled the plug on the machine and never set that flag again.
With UDB DB2 5.2 and AIX 4.3.2, I haven't has a chance to play with it
again, but I think it's promising.
Let me know how it goes.
Cheers,
Tammam Al-Hamwy
Arvind Tangirala <[EMAIL PROTECTED]> on 04/30/99 11:37:24 AM
Please respond to [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
cc: (bcc: Tom Al-Hamwy/Toronto/IBM)
Subject: Help: DB2 SQL1224N (JDBC, Websphere 2.0.1, AIX 4.2.1,
HTTPServer 1.3.3)
Hi,
When connecting concurrently to DB2 via JDBC from a Websphere hosted
servlet-based application, we keep getting the SQL1224N DB2 error:
"SQL1224N A database agent could not be started to service a request, or
was
terminated as a result of a database system shutdown or a force command."
(absolutely no 'force application' or 'shutdown' commands were issued, and
the db manager is runing fine)
A custom connection pooling is being used, not the Websphere connection
pooling. To eliminate the possiblity of connection limits, we open/close
a connection for each request (!) but the problem still persists (and at
very light loads too, < 10 clients). The database manager configuration
shows that ample number of DB2 agents (around 200 max and 20 in the agent
pool) have been allocated, but the db2 'list applications' command never
shows more than 1 agent running on behalf of the Websphere 'java' process
(the application from which I am trying to get the connections).
Has anyone encountered this problem? Cycling Websphere usually gets around
this problem before eventually it happens again. Is it something within
the
JDBC driver which keeps open resources even though the Java application has
issued the conn.close()? One would expect that altleast open/close of a
connection on each request (for <10 request) should not result in this
problem. Is this an application|DB2 configuration|JDBC driver bug|AIX
environment|DB2 license issue?
Any input appreciated.
Thanks,
Arvind
PS: If possible, please also cc any replies to my email address
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html