RE: Wait event SQL*Net break/reset to client caused by duplicate insert?

  • From: Tanel Poder <tanel.poder.003@xxxxxxx>
  • To: pjhoraclel@xxxxxxxxx, "'oracle-l'" <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 10 Apr 2008 00:04:57 +0800

Yes, a SQL*Net break/reset happens when an error/unhandled exception is
raised during a call (which means that the call executed didn't complete
normally, thus the call state must be reset).
 
The approach of "insert -> if failed then update" is basically what MERGE
does. 
 
You need to change the application to use MERGE command. Alternatively you
could use an "update -> if no-rows-updated then insert" approach, but MERGE
makes much more sense nowadays.

--
Regards,
Tanel Poder
http://blog.tanelpoder.com <http://blog.tanelpoder.com/> 


 



  _____  

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx]
On Behalf Of Peter Hitchman
Sent: Wednesday, April 09, 2008 03:55
To: oracle-l
Subject: Wait event SQL*Net break/reset to client caused by duplicate
insert?


Hi,
Oracle 1.1.06 RAC on OEL 4 64 bit.

We are seeing an insert statement reporting "SQL*Net break/reset to client"
as over 1/3 of its time. 
On the face of it this event suggests network issues but nothing else backs
this up as the cause.
So I looked at the Java code in question and a trace of one of the sessions.

What is happening is that an attempt is made to insert a row, most of the
time a duplicate error results, the code catches this exception and does an
update.
I was wondering if its the duplicate error and the exception handling which
results in this wait event showing up. 

All insights welcome

Regards

Pete 

Other related posts: