We are hosting our OutSystems environment on the .NET stack with an Oracle database behind it. We sometimes run into the problem that the application is sluggish and see a lot of open database connections. While this might not be the cause of the problem, I wanted to look into the details to see if the connections are actually used or not.

I came across this post which tells that OutSystems is using the standard ADO.NET connection pooling mechanisms, so I thought I could use the performance counters of either .NET Data Provider for Oracle or  Oracle Data Provider for .NET and get some insight.

To my surprise these counters show that there are no active instances available on the web server.

My questions therefore is why aren't the performance counters available if standard ADO.NET is used and is there a way to get some insight in how active these connections are?

In order to have performance oracle performance counters you need to enable them explicitly.

You can do that in the configuration files using the oracle.manageddataaccess.clientsection

something like

  <version number="*">
      <setting name="PerformanceCounters" value="4095" />

 This is documented on https://docs.oracle.com/database/121/ODPNT/InstallConfig.htm

You can use factory configuration


to modify an eSpace web.config

I've manually added the proposed configuration to the web.config and when that didn't help to the machine.config. But without any result.

In the configSection I've added the following line too.

<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess" />

In the document posted in my previous comment I read that using Oracle.DataAccess.Client could be configured, so I gave that a try too.

<section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler,System.Data, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

      <add name="PerformanceCounters" value="4095" />

So no luck with this so far