<< Back to previous view

[QA-44] TNS connection lost for big SQL*Net packets, and slow performance for small SQL*Net packets. Created: 26/Nov/08  Updated: 26/Nov/08

Status: Closed
Project: Questions & Answers
Fix Version/s: None

Type: Oracle - Database Tuning Priority: Major
Reporter: ubTools Support Assignee: ubTools Support
Resolution: Answered Votes: 0

Product Version: Oracle 9i
Operating System: TRU64

 Description   
The customer has the following errors in SQ*Net SERVER trace:
[17-KAS-2008 06:02:33:866] nspsend: transport write error
[17-KAS-2008 06:02:33:867] nserror: nsres: id=0, op=67, ns=12547, ns2=12560; nt[0]=517, nt[1]=32, nt[2]=0; ora[
0]=0, ora[1]=0, ora[2]=0
[17-KAS-2008 06:02:33:868] nsdo: nsctxrnk=0
[17-KAS-2008 06:02:33:869] nioqsn: send failed: bl = 47, nicbl = 59
[17-KAS-2008 06:02:33:870] nioqper:  error from nioqsn
[17-KAS-2008 06:02:33:871] nioqper:    nr err code: 0
[17-KAS-2008 06:02:33:872] nioqper:    ns main err code: 12547
[17-KAS-2008 06:02:33:873] nioqper:    ns (2)  err code: 12560
[17-KAS-2008 06:02:33:875] nioqper:    nt main err code: 517
[17-KAS-2008 06:02:33:876] nioqper:    nt (2)  err code: 32
[17-KAS-2008 06:02:33:877] nioqper:    nt OS   err code: 0
[17-KAS-2008 06:02:33:878] nioqer: entry
[17-KAS-2008 06:02:33:879] nioqce: entry
[17-KAS-2008 06:02:33:880] nioqce: exit
[17-KAS-2008 06:02:33:881] nioqer: exit
[17-KAS-2008 06:02:33:882] nioqsn:  returning error: 3113

nt[1]=32 is Operating System Dependent(OSD) error code.

An excerpt from truss output of SERVER process:

531245: lseek(7, 0, SEEK_CUR)                           = 501528
531245: write(7, " [ 1 7 - K A S - 2 0 0 8".., 34)      = 34
531245: lseek(7, 0, SEEK_CUR)                           = 501562
531245: write(7, " e n t r y\n", 6)                     = 6
531245: write(12, "07DB\0\006\0\0\0\0\002C2".., 2011)   Err#32 Broken pipe
531245:     Received signal #13, SIGPIPE [ignored]
531245:       siginfo: SIGPIPE
531245: lseek(8, 69632, SEEK_SET)                       = 69632
531245: read(8, "12\0DB0F\0\0 t\0DC0F\0\0".., 512)      = 512
531245: lseek(8, 13312, SEEK_SET)                       = 13312
531245: read(8, "19\0A203\0\09E\0A303\0\0".., 512)      = 512
531245: gettimeofday(0x000000011FFF7A90, 0x00000000)    = 0
531245: lseek(7, 0, SEEK_CUR)                           = 501568

OSD error is Err#32 Broken pipe. This OSD error is also defined in errno.h:

  • #define EPIPE 32 /* Broken pipe */

Client side SQL*Net trace shows that client is waiting for a response from server on nttrd() call.

Since the server process is lost connection, it's not able to send a message to the client side. Since the client side is not getting a response, his screen waits in "Not Responding" state in Windows.



 Comments   
Comment by ubTools Support [ 26/Nov/08 01:38 PM ]
The customer uses CISCO ASA 5520 series, Version 8.0.4 FIREWALL. This has an option of inspect sqlnet. After this option has been disabled, the problem has been solved.
Generated at Tue Jun 24 10:21:27 UTC 2025 using JIRA Standard Edition, Version: 3.12.3-#302.