Ask the Expert

What happens to DB calls done during a failover?

This is related to RAC/TAF. I understand that when an instance fails, any active transaction will be rolled back after the failover completes and any select statements that were in progress when the failure happened will be replayed transparently after the failover. I would like to know what happens to any db calls (query or DML) that were done during the failover, i.e., the time after the instance failed and before the connection was established with the new instance. Are they lost? Or are they suspended and replayed after the failover?

    Requires Free Membership to View

I am not sure what you mean by transactions initiated after the failure and before the re-establishment of the session on the surviving node. You are correct that if TAF is configured properly most SELECT statements that were executing during the failure will be re-initiated on the surviving node and other statements such as uncommitted DML will be rolled back. However, by definition, after the instance has failed no additional transactions can be executed from that instance, so there would be no calls during the failover. Any transactions on the surviving node will be uneffected. Now, it's entirely possible I am not understanding your question so if that is the case please explain with an example or additional detail and I will be happy to provide a followup. Thanks.

This was first published in December 2006

Join the conversationComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.