Access violation on dbexpoda after Oracle balancing

Access violation on dbexpoda after Oracle balancing

Postby telecos » Tue 03 Nov 2009 12:24

Hi,

We have an access violation on dbexpoda.dll (version 4.20.0.8 ) in a production environment where we have an Oracle's cluster. This problem occurs after Oracle's cluster performs a balncement, which is, when the database gets an erronous state, it stop it an start another instance using the same IP address. After this procedure, in few cases (about 1 of every 20 cases) we get an access violation performing queries with dbexpoda.dll which causes our application to die. Has anyone face with this problem? Any solution there?

Thanks!
telecos
 
Posts: 2
Joined: Tue 03 Nov 2009 12:11

Postby Plash » Thu 05 Nov 2009 09:31

When cluster starts another database instance, the connection to the database is broken. DbxOda has the code that automatically reconnects if the connection is broken. So sometimes you don't see any error, and your application continues to work. But reconnect cannot work correctly in all cases.

Oracle has a feature named Transparent Application Failover (TAF). When TAF is enabled, Oracle client can reconnect automatically. Reconnect occurs transparently for application, e.g the application sees nothing and works as usual.

TAF is supported by ODAC. But DbxOda does not support TAF.
Plash
Devart Team
 
Posts: 2844
Joined: Wed 10 May 2006 07:09

Postby telecos » Thu 05 Nov 2009 10:58

It's planned DbxOda to support TAF in future versions? Is it feasible?
telecos
 
Posts: 2
Joined: Tue 03 Nov 2009 12:11

Postby Plash » Fri 06 Nov 2009 09:52

ODAC TOraSession component has the OnFailover event. User should handle this event to make failover work.

In dbExpress we cannot provide access to such event. So we cannot support TAF in DbxOda.
Plash
Devart Team
 
Posts: 2844
Joined: Wed 10 May 2006 07:09


Return to dbExpress driver for Oracle