Re: ORA-03126 error - 11.2

From: ddf <>
Date: Thu, 12 Jan 2012 07:16:17 -0800 (PST)
Message-ID: <>

On Jan 11, 8:22 pm, Albatross <älbätross_at_dätäbäsix.cöm> wrote:
> A bit of background:
> Oracle AIX 6.1 SP5.
> ORA-03126:      network driver does not support non-blocking operations
> Cause:  A non-blocking operation was attempted and the network driver
> does not support non-blocking operations.
> Action:         Use default blocking operations or use a driver supporting
> non-blocking operations.
> <AHEM>
> This is occurring sporadically. The application code doesn't know exactly
> how to handle this. You really don't want to know what it does as it's a
> sad story. I've been through Metalink and various other sources and it's
> not reported to occur except through bad application code on the client
> side on 11G. I might just be the lucky one to get this bug first!
> First level Oracle support suggests tracing at the client level. They
> also suggested a 10046 level 12 trace (!) which is a bit much for a
> problem that may not occur for a week at a time. I had the idea to put
> this in the SPFILE/init<SID>.ora at the database level as well rather
> than trying to worry about someone doing this via oradebug. It'll also
> help locating when it occurs to help find out where it would be in the
> client-side trace file.
> I'm just not sure about how I'd properly code this as the syntax isn't
> really all that documented. I really don't want to have to try to do this
> per session as I have no guarantee that I won't miss a process or that
> one is generated that will not be covered. Before you ask, it's vendor
> code and I can't see it. So I'm trying to see if I can get any
> information from the error and hope it contains the call information from
> the client.
> I realize I might be quite wrong in my approach but I can't tell until I
> try. Obviously I'm very open to suggestions. Even flames would be
> entertaining.
> I've seen examples of this which indicate that something like the below
> is what I want but the options aren't exactly documented. Obviously I'm a
> bit confused about the "level", whether I need it and if so which level.
> event = '3126 immediate trace name SYSTEMSTATE LEVEL 10'
> or
> event = '3126 immediate trace name context forever, LEVEL 10'
> or
> event = '3126 immediate trace name ERRORSTACK LEVEL 3'
> or
> event = "3126 trace name error stack"
> I'm hoping the latter should dump the process when the error is
> signalled. Obviously the syntax above isn't quite right as my spfile has
> multiple events already and I'm not trying to get the quotes right but
> you get the idea. So I'm thinking the latter example is possibly the
> correct one.
> If anyone has come across this before and can shed a biot of light on
> this it would be helpful.

Try this:

alter system set events = '3126 trace name errorstack forever, level 3';

It should dump the error stack for every ORA-03126 error you generate,

David Fitzjarrell Received on Thu Jan 12 2012 - 09:16:17 CST

Original text of this message