Forum Discussion

nyu_68498's avatar
nyu_68498
Icon for Nimbostratus rankNimbostratus
Apr 26, 2012

HA between third party apps and Oracle RAC databases using f5

We have several third party applications such as Informatica that are running on Oracle 11gR2 RAC. Each time when there is node failure, we have to restart the apps like Informatica's workflow. In Informatica's case, when the workflow live connection is down due to RAC node failure, it does not try to automatically reconnect. We have to restart the workflow to reconnect to the database.

 

 

Does f5 have a solution that can allow us to avoid such restart while automaticall reconnect for the app?

 

 

Thanks

 

Naiying
  • Chris_Akker_129's avatar
    Chris_Akker_129
    Historic F5 Account

    Hi Naiyang, I am not familiar with Informatica database connection details, but from reading some of their support forums, it appears that this is not possible. One comment referenced is that each Informatica connection is tied to a specific process, and each process within the application is responsible for opening and closing its own TCP connections to the database. It also appears that these connections are single instance, and do not support the concept of a connection pool. So I don't believe the application processes have the logic to retry a connection after/during a failure.

     

    There is usually some user metadata that is created at connection/login time, and this metadata is not easily "moved" from one Node to another in the RAC cluster. Using an iRule, BIG-IP could "remap" a connection, but the metadata would not be moved, so its doubtful this would actually solve your issue completely.

     

    If you do insert BIG-IP in front of the RAC cluster, you can use the monitoring system to determine the health/availability of each individual Node in the cluster. But this will only be helpful during the new connection process, to make sure all new connections land on a healthy Node.

     

    Using the FAN monitoring script, you could extend the serverside callout Perl script to detect the Node failure, and then "restart" the Informatica process automarically, but I don't think it would help you recover an existing connection during a Node failure as you have described.

     

    The RAC monitoring and serverside script examples are in the F5 RAC deployment guide:

     

    http://www.f5.com/pdf/deployment-gu...v11-dg.pdf

     

    Good Luck, and let us know if you have any success.