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

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: