Re: ORA-03126 error - 11.2

From: Albatross <älbätross_at_dätäbäsix.cöm>
Date: Fri, 13 Jan 2012 05:04:43 +0000 (UTC)
Message-ID: <Xns9FD9CD228EFstillnolawsuitedmo_at_88.198.244.100>



ddf <oratune_at_msn.com> wrote in
news:f89750ea-6e66-4475-9c5f-6e82b0302340_at_k8g2000yqk.googlegroups.com:
> On Jan 11, 8:22 pm, Albatross <älbätross_at_dätäbäsix.cöm> wrote:

>> A bit of background:
>>
>> Oracle 11.0.2.0 AIX 6.1 SP5.
>>
>> ORA-03126:      network driver does not support non-blocking operat
> ions

>> 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 s
> upporting

>> 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,

That looks right, I couldn't work out how to determine the proper level number as they differ for each event. Oracle support doesn't want me to do it at this point for some unfathomable reason and wants an OCI trace which isn't working with the syntax they gave. Go figure. Received on Thu Jan 12 2012 - 23:04:43 CST

Original text of this message