I'm having problems while using ODT with ODAC (18.104.22.168.1). I've done a .NET (C# using Visual Studio 2010) library to be called from PL/SQL. It works without a problem, and finish the execution closing all objects and even doing a Garbage Collection (System.GC.Collect()) just to be sure that the most memory is reclaimed.
The problem comes when I do the stress test (multiple call to the C# procedure, like 20000 times). I can see how extproc.exe (the service/process used to make external calls) start using more and more memory. Each call to the C# procedure wastes some KB of memory, and when I do the stress test, extproc.exe comes to have allocated 800 MB of RAM memory and even more...
It seems that sometimes, Oracle or the process itself makes acknowledge of the RAM used and I see it wasting only 100 MB, so it seems it has some kind of memory management capabilities, but it's not enought, as sometimes memory goes as high that my server starts loading out some process from memory and performance degrades.
Is there any way to control how much memory extproc.exe can waste, or control the behaviour of the process, or something like that?