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

From: Tanel Poder <tanel.poder.003_at_mail.ee>
Date: Thu, 10 Apr 2008 00:04:57 +0800
Message-id: <082a01c89a5b$74e1b6b0$3201a8c0@windows01>


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_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] 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

--

http://www.freelists.org/webpage/oracle-l Received on Wed Apr 09 2008 - 11:04:57 CDT

Original text of this message