We are having a data retrieval performance problem in our NET4 app using ODP.net 4. This problem seems to manifest itself only on win7 pcs, most recently/just installed.
Developments has/is being done in one year old win7x32 and win7x64 pcs which have no problems retrieving the data. These pcs are NOT top of the line: core2duo 8400 with 4gb ram, so it seems the problem is not related to machine specs.
The app has entered production about a month ago (about 600 concurrent users), and the symptoms are almost always the same: most of the clients have winxp where performance is ok, while almost all clients with win7x32 (either old or newlly installed) are very slow retrieving data.
Example query: "select * from some_table" retriieves approximately 400 rows.
With two computers having the same hardware, 4gb ram:
- retrieving the data in the winxp pc takes 4 seconds
- retrieving the data in the Win7x64 takes 3 minutes
- retrieving data in other win7x32 new installations (with different hardware) takes the same time: about 3 minutes.
- just for reference, in all the developer pcs with win7 (with vs2010 installed) the speed is the same as on the winxp clients. Installing a vs2010 on a problematic win7 pc didn't change anything.
NET4 csharp app built with x86.
ODP.net 22.214.171.124 xcopy 32bits using only the dlls copied to the app directory (Oracle.DataAccess.dll, OraOps11w.dll, oci.dll, oraociicus11.dll). Oracle client has not been installled in any client pc.
Oracle 11gr2 on a hp ux server, 700 miles away with a dedicated 100MB dedicated line.
Just a guess, but what have you set as the value for the "enlist" connection parameter (it defaults to true)? If possible you may try setting to "false" and verify. Also, it might be worth investigating the FetchSize value if there are lots of roundtrips due to small value.