views:

43

answers:

2

I have a .net desktop app that connects to an oracle database. At times, there are very noticable delays.

I ran a trace on the code, and it was always in the DataReader.Read().

I turned on sql tracing, and found the following, which corresponds to the delays I'm seeing:

(2128) [23-MAR-2010 13:00:07:310] nsprecv: reading from transport...
(2128) [23-MAR-2010 13:00:07:310] nttrd: entry
(2128) [23-MAR-2010 13:00:24:655] nttrd: socket 676 had bytes read=2047
(2128) [23-MAR-2010 13:00:24:655] nttrd: exit
(2128) [23-MAR-2010 13:00:24:655] nsprecv: 2047 bytes from transport

There's about a 14 second pause in there.

I'm pretty sure that there's not a problem in the code, but not sure where to look at next. Is there anyone out there with experience with oracle trace that can explain what's going on?

A: 

Have you traced your networks? If you have problem in your network you could run in to this.

Naveen
According to the network guys, it's not a network problem. sqlplus from the command line seems to work fine.
chris
Have you tried doing a network trace when your application is running? To see its output. And if you don't see an issue with the network then I would add a break-point at the bottom of stack and check if it is writing to the socket. I would use Windbg to set a break-point and debug.If you have issues in setting break-point, do respond.
Naveen
A: 

Hi,

I see the same issue when using jdbc and a lot of threads reading data from oracle.

havent found a solution yet. ive looked at the network, oracle side and the app code, no joy.

Ash