0 Replies Latest reply on Oct 29, 2013 9:19 PM by Gary Graham-Oracle

    ORA-17002 IO Exceptions since Windows Vista

    Gary Graham-Oracle

      I just wanted to add a comment about the following dead thread that got locked after someone resurrected it:

      The specified item was not found.

       

      So Rüdiger, if you see this, please do not post to long dead threads.  Open your own and reference the other question or discussion thread.

       

      The new title I post here reflects the fact that this issue became much more prevalent after Microsoft made a fix in Vista that Oracle learned of through the following bug (logged against JDBC)

      and SR (logged against Microsoft):

            Bug 9373409 - SUDDENLY JDBC THIN GOT CONNECTION ABORT ERROR ONLY WINDOWS 2008 OR VISTA ENV

      and
           Microsoft's SR: SRF100225601418
             "This is expected behavior by the fix of winsock code since Vista.
             Windows has two different type of buffer for recv data (normal and
             urgent). Windows has only 16 packets buffer for urgent packet since
             Windows Vista. Because winsock layer was rewrote and the buffer was
             restricted for reduce memory-leak and urgent attack.
       
              4-1 This is hard-corded limitation. Therefore customer can not set the
                buffer size by registry.

             4-2 The workaround is recv MSG_OOB data on client (don't ignore)."

       

      Assuming the ORA-17002 IO Exception applies both to connection aborts and break packets (as noted in the dead thread), then there are a couple of ways to proceed:

      1.  Disable Out Of Band Breaks (oracle.net.disableOob=true, either via AddVMOption in sqldeveloper.conf or via Java param -Doracle.net.disableOob=true)

      2.  Get the database patch for your version (11.2.0.2 in Rüdiger's case) as indicated in Bug 9373409.  Otherwise it is fixed in 12.1.

       

      Regards,

      Gary

      SQL Developer Team