Problem with Oracle SCAN and multi node clusters

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
Posts: 1
Joined: Wed 16 Mar 2011 10:07

Problem with Oracle SCAN and multi node clusters

Post by jeder » Wed 16 Mar 2011 11:03


currently we experience a problem with Oracle SCAN in or production environment:

The production environment has a IIS 6 / .Net 3.5 frontend server and
an Oracle 11gR2 2-node-cluster with loadbalancer.

We use dotConnect for Oracle

If Oracle SCAN is activated following exception occurs on every connection attempt:

Code: Select all

Exception: System.AccessViolationException
Message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
StackTrace:    at OciDynamicType.nativeOCIHandleFree(HandleRef , Int32 )
   at OciDynamicType.OCIHandleFree(HandleRef , Int32 )
   at Devart.Data.Oracle.a5.b(Object A_0)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart(Object obj)
In our Testing Environment the problen does not occur:
Same configuration and SCAN is activated. The only difference is a single node cluster instead of the 2-node-cluster.

Question: Is there a known issue with dotConnect for Oracle in combination with Oracle SCAN and multinode clusters?

Site Admin
Posts: 8245
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Thu 17 Mar 2011 16:07

Real Application Clusters (RAC) is a feature of Oracle client itself. From our side, it doesn't matter if Oracle client talks to Oracle server via RAC or not. Here are our comments:
1. Oracle Client:
a) the mentioned exception is often a problem of Oracle client. Which version of Oracle Client are you using?
b) have you tried a newer (or another) version?
c) contact Oracle support (
2. Please make sure that you execute the explicit Close() for the readers you open in your code (if reader is used without the "using" pattern), as it is recommended in ADO.NET Best Practices.
3. The connection object is not thread-safe (by Microsoft design). So, it is strongly recommended to use the connection-per-thread model.
4. Try to localize the problem code as we have suggested at . The issue may persist only with a particular data type. Try to run your application in the deployment environment via Oracle Client without using RAC. Probably, the problem will persist.
5. If possible, send us a test case to reproduce the issue in our environment.

Post Reply