since we have moved our hardware to another location with a wide area network between clients and servers we experience a performance that ist really bad. A network specialist recently traced the E2E-Communication and claimed that a lot of small frames were exchanged between Client and Server, a lot of communication occurs with the full RTT in each step.
With DB2 we do not encounter this problem. I've had a look at the payload of the oracle/tns frames and found a "normal" behaviour. It seemed to be a catalog lookup for a dynamic query or query by example where a cursor was processed. The client sends a frame with a small payload that might have been a "fetch" in any binary form. The server replied another small packet with the name of a column from an application table, the next "fetch" from the client until the server returns the message that no more data were found.
With DB2 we have bound all applications including ODBC drivers with "BLOCKING ALL" as it is written in the documentation. That means, that each network frame contains as many data as possible and the fetch is processed locally by the client (except for FOR UPDATE OF cursors). So the full size of the EN-frame can be used and there are a lot of RTT cycles less.
Is there a possibility to configure a kind of "cursor blocking" with oracle, too?