Use of Oracle Restart features ONS & FAN for Gen load modules (aefad)
search cancel

Use of Oracle Restart features ONS & FAN for Gen load modules (aefad)

book

Article ID: 232077

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed Gen - Workstation Toolset

Issue/Introduction

Using Oracle database part of an Active Data Guard High Availability solution as target and setting tnsnames TAF (Transparent Application Failover).

In case of a failover although all of CA Gen load modules fail in the first try and reconnect successfully in the second try. This has an impact to the end user as they get too many failed responses until all load modules create a new connection to the active database and operation is normalized.

If Oracle Restart is used which has ONS (Oracle notification Service) sending notification messages (FAN) to the Oracle client in order to resubmit transactions immediately and mask the retry errors from the end user.
Are GEN  modules and aefad daemon capable of understanding these notification messages and reconnect without propagating the error to the end user?

Environment

Release : 8.6

Component : CA GEN Asynchronous Daemon

Resolution

Transactions running under the aefad will employ a 'connect once' strategy. This means when the load module is started it will attempt to make a connection to the database.  Once connected, have no retry mechanism built into the runtimes.

If the retry needs to take place upon a failed initial connection, the connection logic is exposed inside tiroconn.pc in the dbconnct() function.

This is a user exit that can be modified by the user. So any retry logic that might be needed would have to be put in by the user at this point. If the retry is needed later there is no explicit way of capturing the error and retrying the connection.