Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: ADO connection to Oracle gets a listener error, but only on the first few attempts

Re: ADO connection to Oracle gets a listener error, but only on the first few attempts

From: Michael D. Long <michael_d_long_at_bellsouth.net>
Date: Sat, 7 Jun 2003 22:00:51 -0400
Message-ID: <#zVTAGWLDHA.3152@TK2MSFTNGP10.phx.gbl>

Creating a connection is a very expensive operation for Oracle. When you try to create several at one time you may experience timeouts. I've seen 12541 and 12560 errors when trying to spawn 100 threads in < 1 second, though never at only 8.

You can test whether this is your problem by placing a delay of a few seconds between new object instances.

However, your design doesn't sound like the model of efficiency. Your "controller" would be a good idea were it a pool manager that maintained a list of running objects and dispatched requests to them via method calls. When I first glanced at your post I thought that's what you were doing, but the part about spawning new workers and passing parameters on the command line made me question what you were doing.

You state that you have "thousands required". This sounds like some type of batch update, and not a service to respond to ad hoc user actions. If so, you could write a single process that would perform better with only 1 connection than you will get using the approach you have described.

--
Michael D. Long
Microsoft MVP - Windows SDK


"Mark Freeman" <mark_freeman_at_asc.aon.com> wrote in message
news:df323d2.0306060740.4da77447_at_posting.google.com...

> I have a VB 6.0 program that runs on a Win2k machine and connects to
> an Oracle 8i database on an AIX system. It works fine.
>
> I split it up into two programs such that one invokes multiple
> instances of the other. The one that has multiple instances running
> accesses Oracle to do a query based on a command-line parameter passed
> by the controller program.
>
> When I fire up the controller program, it immediately runs 8 instances
> of the database access program. The first two or three get an Oracle
> error and the rest work fine.
>
> The controller program ensures that 8 instances of the database access
> program are always running -- when one instance completes and exists
> it spawns a new one, until it goes through the thousands required.
>
> If I kill off the controller program, let all the access program
> instances complete, and then run the controller program again, I do
> not get the errors even though it is doing exactly the same thing as
> it did before.
>
> The issue appears to be one of multiple programs attempting to make
> Oracle connections at the same time, but only when no connection has
> been made for some time.
Received on Sat Jun 07 2003 - 21:00:51 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US