I've recently noticed that when Pooling is enabled then oracle sessions are not removed even after application finishes.
Tested on .net core 2.2 console apps with Devart.Data.Oracle, I tried version 9.7.805 and the previous one. Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit.
Code: Select all
public static void Main(string[] args)
{
using (var conn = new Devart.Data.Oracle.OracleConnection("User Id=xxx;Password=xxx;Server=xxx;Port=1521;Service Name=xxx;Direct=true;License Key=xxxxx;"))
{
conn.Open();
conn.Close();
}
Devart.Data.Oracle.OracleConnection.ClearAllPools();
}
Prev sql from these sessions:
Code: Select all
update user$ set spare6=DECODE(to_char(:2, 'YYYY-MM-DD'), '0000-00-00', to_date(NULL), :2) where user#=:1
If I set Pooling=false in connection string they disappear immediately as expected right after conn.Close() is executed.
With Pooling enabled I would expect that all connections and sessions are gone when app quits.
Any idea?