Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.tools -> Re: HELP - frames/packets being resent (duplicated) for Oracle sql*net connection.

Re: HELP - frames/packets being resent (duplicated) for Oracle sql*net connection.

From: Sybrand Bakker <postbus_at_sybrandb.demon.nl>
Date: 2000/07/04
Message-ID: <962717983.28485.0.pluto.d4ee154e@news.demon.nl>

As you have severely edited you output, how can we see it is identical? If you would have used sqlnet tracing, that would have provided you with lots of more insight.
Three general remarks
- Before the data of any select statement is sent, a description of all columns in that statement, including datatypes etc, will be sent to the client. (I learned this from studying sqlnet trace output). - If a cursor is closed by the client and re-opened by the client all data is resent, whether it has changed or not. I noticed this to be a problem in an application with numerous listboxes, comboboxes and the like on screen, all the underlying cursors were closed as soon as that control lost focus - ODBC is about the most inefficient mechanism to use in communication with an Oracle database.

If you really want to track the cause (and personally, as it's only 20 percent and some duplication is inevitable, so I wouldn't bother), you'll need to add or change
trace_level_server = 16 in your sqlnet.ora on the server. That will automatically trace *all* sqlnet connections.

Hth,

Sybrand Bakker, Oracle DBA

"Fuzzy" <granta_at_nospam.student.canberra.edu.au> wrote in message news:39618312.9930839_at_newshost.interact.net.au...
> Hi there,
>
> On a particular site, I'm noticing about 20% of sql*net packets
> (frames) generated from an application are resent somehow ... using
> packet sniffer shows identical packets being resent. I know the
> client application in question has no control over this - it leaves
> all work up to Oracle's net client and ODBC.
>
> Does anyone have any ideas why this is happening? Seen it before?
> Any way to track the cause?
>
> The output below shows that they are TNS duplicates ... which is the
> Oracle sql*net level.
>
> Sample of duplicate frames
>
> - - - - - - - - - - - - - - - - - - - - Frame 4831 - - - - - - - - - -
> - - - - - - - - - -
> Frame Status Source Address Dest. Address Size Rel. Time
> Delta Time Abs. Time Summary
> 4831 [<valid - I've blanked these out for obvious reasons>]
> [<valid - I've blanked these out for obvious reasons>] 235
> 0:05:12.835 0.002.035 06/09/2000 01:11:15 PM SQL: OALL7 - Fast
> UPI call to opial7
> DLC: ----- DLC Header -----
> DLC:
> DLC: Frame 4831 arrived at 13:11:15.6540; frame size is 235
> (00EB hex) bytes.
> DLC: Destination = Station 00107B686221
> DLC: Source = Station Intel 1372A4
> DLC: Ethertype = 0800 (IP)
> DLC:
> IP: ----- IP Header -----
> IP:
> IP: Version = 4, header length = 20 bytes
> IP: Type of service = 00
> IP: 000. .... = routine
> IP: ...0 .... = normal delay
> IP: .... 0... = normal throughput
> IP: .... .0.. = normal reliability
> IP: Total length = 221 bytes
> IP: Identification = 25439
> IP: Flags = 4X
> IP: .1.. .... = don't fragment
> IP: ..0. .... = last fragment
> IP: Fragment offset = 0 bytes
> IP: Time to live = 128 seconds/hops
> IP: Protocol = 6 (TCP)
> IP: Header checksum = 8459 (correct)
> IP: Source address = [<valid - I've blanked these out for
> obvious reasons>]
> IP: Destination address = [<valid - I've blanked these out for
> obvious reasons>]
> IP: No options
> IP:
> TCP: ----- TCP header -----
> TCP:
> TCP: Source port = 1236
> TCP: Destination port = 4798
> TCP: Sequence number = 9560996
> TCP: Next expected Seq number= 9561177
> TCP: Acknowledgment number = 2917434459
> TCP: Data offset = 20 bytes
> TCP: Flags = 18
> TCP: ..0. .... = (No urgent pointer)
> TCP: ...1 .... = Acknowledgment
> TCP: .... 1... = Push
> TCP: .... .0.. = (No reset)
> TCP: .... ..0. = (No SYN)
> TCP: .... ...0 = (No FIN)
> TCP: Window = 7846
> TCP: Checksum = 0037 (correct)
> TCP: No TCP options
> TCP: [181 Bytes of data]
> TCP:
> TNS: ----- Transparent Network Substrate Protocol -----
> TNS:
> TNS: Packet length = 181
> TNS: Packet checksum = 0000 (Reserved)
> TNS: TNS packet type = 6 (Data)
> TNS: Packet flags = 00
> TNS: .... ...0 = (Not used prior to TNS version
> 3)
> TNS: Header checksum = 0000 (Reserved)
> TNS: Data flag = 0 (No bits set)
> TNS: [171 byte(s) of data]
> TNS:
> SQL: ----- SQL*Net Data -----
> SQL:
> SQL: Basic operation = 3 (User to Oracle (UPI) request)
> SQL: Function type = 71 (OALL7 - Fast UPI call to opial7)
> SQL: Sequence number = 41
> SQL: Fast UPI options = 0x8050
> SQL: Fast UPI Option1 = 50
> SQL: 0... .... = (No cancel after fetch)
> SQL: .1.. .... = Fetch to be performed
> SQL: ..0. .... = (No execute to be performed)
> SQL: ...1 .... = Define to be performed
> SQL: .... 0... = (No bind to be performed)
> SQL: .... ...0 = (No parse to be performed)
> SQL: Fast UPI Option2 = 80
> SQL: 1... .... = Statement is not PL/SQL
> SQL: .0.. .... = (No parse required)
> SQL: .... .0.. = (Don't send I/O vector back)
> SQL: .... ..0. = (Non-exact fetch)
> SQL: .... ...0 = (No commit)
> SQL: Cursor number = 2
> SQL: SQL text address = 0x0000
> SQL: SQL text length = 0
> SQL: DBlink text address = 0x0000
> SQL: DBlink text length = 0
> SQL:
> ADDR HEX ASCII
> 0000: 00 10 7b 68 62 21 00 90 27 13 72 a4 08 00 45 00 |
> .{hb!.'.r¤..E.
> 0010: 00 dd 63 5f 40 00 80 06 84 59 ca 0e bf 38 c1 09 |
> Ýc_@.?."YÊ.¿8Á
> 0020: c8 11 04 d4 12 be 00 91 e3 a4 ad e4 84 5b 50 18 |
> È..Ô.¾.'㤭ä"[P.
> 0030: 1e a6 00 37 00 00 00 b5 00 00 06 00 00 00 00 00 |
> ¦.7...µ........
> 0040: 03 47 29 50 80 00 00 02 00 00 00 00 00 00 00 00 |
> G)P?...........
> 0050: 00 00 00 00 00 00 00 00 00 00 00 e0 75 76 01 07 |
> ..........àuv..
> 0060: 00 00 00 dc 74 87 01 02 00 00 00 00 00 00 00 1c |
> ..Üt?..........
> 0070: 9c 87 01 05 00 00 00 00 00 00 00 00 00 00 00 00 |
> o?..............
> 0080: 00 00 00 6b 01 00 00 00 00 00 00 00 00 00 00 00 |
> ..k............
> 0090: 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 29 |
> ..............)
> 00a0: 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 29 |
> ..............)
> 00b0: 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 02 |
> ...............
> 00c0: 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 29 |
> ..............)
> 00d0: 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 29 |
> ..............)
> 00e0: 00 00 00 00 00 00 00 00 00 00 00 | ...........
>
> - - - - - - - - - - - - - - - - - - - - Frame 4832 - - - - - - - - - -
> - - - - - - - - - -
> Frame Status Source Address Dest. Address Size Rel. Time
> Delta Time Abs. Time Summary
> 4832 # [<valid - I've blanked these out for obvious reasons>]
> [<valid - I've blanked these out for obvious reasons>] 235
> 0:05:13.039 0.203.981 06/09/2000 01:11:15 PM Expert:
> Retransmission
>
> TNS: duplicate of frame 4831
> DLC: ----- DLC Header -----
> DLC:
> DLC: Frame 4832 arrived at 13:11:15.8580; frame size is 235
> (00EB hex) bytes.
> DLC: Destination = Station 00107B686221
> DLC: Source = Station Intel 1372A4
> DLC: Ethertype = 0800 (IP)
> DLC:
> IP: ----- IP Header -----
> IP:
> IP: Version = 4, header length = 20 bytes
> IP: Type of service = 00
> IP: 000. .... = routine
> IP: ...0 .... = normal delay
> IP: .... 0... = normal throughput
> IP: .... .0.. = normal reliability
> IP: Total length = 221 bytes
> IP: Identification = 25695
> IP: Flags = 4X
> IP: .1.. .... = don't fragment
> IP: ..0. .... = last fragment
> IP: Fragment offset = 0 bytes
> IP: Time to live = 128 seconds/hops
> IP: Protocol = 6 (TCP)
> IP: Header checksum = 8359 (correct)
> IP: Source address = [<valid - I've blanked these out for
> obvious reasons>]
> IP: Destination address = [<valid - I've blanked these out for
> obvious reasons>]
> IP: No options
> IP:
> TCP: ----- TCP header -----
> TCP:
> TCP: Source port = 1236
> TCP: Destination port = 4798
> TCP: Sequence number = 9560996
> TCP: Next expected Seq number= 9561177
> TCP: Acknowledgment number = 2917434459
> TCP: Data offset = 20 bytes
> TCP: Flags = 18
> TCP: ..0. .... = (No urgent pointer)
> TCP: ...1 .... = Acknowledgment
> TCP: .... 1... = Push
> TCP: .... .0.. = (No reset)
> TCP: .... ..0. = (No SYN)
> TCP: .... ...0 = (No FIN)
> TCP: Window = 7846
> TCP: Checksum = 0037 (correct)
> TCP: No TCP options
> TCP: [181 Bytes of data]
> TCP:
> TNS: ----- Transparent Network Substrate Protocol duplicate Frame
> -----
> TNS:
> TNS: Duplicate of frame: 4831
> TNS:
> TNS: [181 bytes data]
> TNS:
> ADDR HEX ASCII
> 0000: 00 10 7b 68 62 21 00 90 27 13 72 a4 08 00 45 00 |
> .{hb!.'.r¤..E.
> 0010: 00 dd 64 5f 40 00 80 06 83 59 ca 0e bf 38 c1 09 |
> Ýd_@.?.fYÊ.¿8Á
> 0020: c8 11 04 d4 12 be 00 91 e3 a4 ad e4 84 5b 50 18 |
> È..Ô.¾.'㤭ä"[P.
> 0030: 1e a6 00 37 00 00 00 b5 00 00 06 00 00 00 00 00 |
> ¦.7...µ........
> 0040: 03 47 29 50 80 00 00 02 00 00 00 00 00 00 00 00 |
> G)P?...........
> 0050: 00 00 00 00 00 00 00 00 00 00 00 e0 75 76 01 07 |
> ..........àuv..
> 0060: 00 00 00 dc 74 87 01 02 00 00 00 00 00 00 00 1c |
> ..Üt?..........
> 0070: 9c 87 01 05 00 00 00 00 00 00 00 00 00 00 00 00 |
> o?..............
> 0080: 00 00 00 6b 01 00 00 00 00 00 00 00 00 00 00 00 |
> ..k............
> 0090: 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 29 |
> ..............)
> 00a0: 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 29 |
> ..............)
> 00b0: 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 02 |
> ...............
> 00c0: 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 29 |
> ..............)
> 00d0: 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 29 |
> ..............)
> 00e0: 00 00 00 00 00 00 00 00 00 00 00 | ...........
>
> Help!
>
> Ciao
> Fuzzy
> #;-)
Received on Tue Jul 04 2000 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US