This content has been marked as final. Show 11 replies
Unfortunately I am not able to post the sample code because the application is qute complex. I am using an OR-Mapper which ectually creates the insert statement for my objects.
I have not used a new version of ODP.NET so fare. I hoped that someone else encountered the same problem and couild give me some advice. Now I am trying to reproduce the problem and check the trace file of Oracle if there is any information which would help me. Reproducing is not easy because I usually got this error after running my test data generator for at least 14 hours.
The Exception is comming for a data read
the stacktrace is
at System.Data.Common.DataAdapter.FillLoadDataRow(DataSet dataset, ....)
It comes from a data read, but only a OR-Mapper specific read. I am acturlly saving an object and the OR-Mapper saves the object and then reads it back to the memory to get the id of the primary key which is created by a sequence. The abount of data read is small so this can not case the error, but I am execuing the same method many thousand times before I finally get thet error
A couple suggestions to help hone in on what's going on:
1) If you monitor both virtual bytes and private bytes using perfmon, does memory increase for one of the other the longer the app runs? If private bytes continually increase, thats a memorly leak, If virtual bytes increase but private bytes stay steady, thats fragmentation.
1a) Make sure you're calling dispose on everything you can.
2) You could take a memory hang dump using ADPlus, load sos.dll into windbg and then look at the heap using !dumpheap -stat
3) You could use DebugDiag to monitor the app memory usage.
The nice thing about debugdiag is it will automatically generate a summary report that includes suggestions to troubleshot further
Hope it helps,