RAC/TAF does not support Transaction Failover - WHY
I am trying to understand RAC and have some questions. Appreciate anyone who can help me understand
1) The TAF in a RAC setup does not support transaction failover (DMLs will be rolled back), but only Query failover is supported. Why is this? If it can have the query image and using the instance which is alive, why cant it retain the DML image also and provide failover? Can someone please explain?
2) When a Query failover happens, I believe the select statment is re-issued. In this case will the SCN be different from the original. If so, how is read consistency maintained.
if you are modifying data blocks and the instance dies how can you send your supposed "dirty" blocks to another instance? i.e the current image
Pando, thanks. However, I think I want to see this from another perspective.
When a SELECT failsover, the instance still dies. But the SELECT statement from the dying instance is somehow taken and re-executed on the alive instance and fetched. For the User, its as if nothing happened.
In case of say an UPDATE, why cant Oracle take the UPDATE statement and re-execute in the alive instance again, so that its much as in the case of SELECT statment for the User as explained above as if nothing happnened.
The point is why does RAC demand for the User to re-execute the Update statement? It can rollback the transaction and re-execute the update statement on its own since it has the intelligence of what the Update statement was much like the select.
Please let me know, this is really important for me to understand