ODP.net Connection Pooling: ClientID, Client Identifier never changes from first user who logs in
See the question and my original answer on StackOverflowWhen connection pooling is enabled, which is good and of course the way to go in an ASP.NET scenario (and in most scenarios in fact), you should not store any db connection. You must open and close connections when you need it.
Here is a link about SQL Server, but it's the same with Oracle that explains it: SqlConnection Class
So the code you need to use when calling Oracle should be something like this, anywhere in your app, whenyou need it:
Using connection As New OracleConnection(connectionString)
connection.Open()
' Do work here; connection closed on following line.
End Using
The thing is: you cannot have connection pooling enabled with specific user information in the connection string. So I suggest you implement your auditing code without using the connection string.