We are planning on having a multimaster environment, with Master to Master replication. My question is, when the main database fails, will the failover database automatically take over, or should this be done manually ? If it has to be done manually, then, is there a tool that I can use to make the transition automatic ?
from my understanding failING over over has nothing to do with replication (except that replication is a method to have failover database as such).
Here is what I remember from my last investigation into that topic (Oracle v805):
For TAF(Transparent application failover) Parallel Server is required - so this is not your case. In addition to, applications must be aware and properly coded to take this advantage. I am not sure that eg. Oracle Forms supports such thing. And failover can not failover everything: maximum you can continue previous queries, but not DML transactions.
For listeners failover see: Connect-Time Failover for Multiple Listeners.
So I think feasable scenariou is like that: applications are restarted by users or applications detect broken connection and restart themselfs automatically.
never tried but probably you can use multiply descriptions and multiply addresses feature of tnsnames.ora to force client to try serveral servers untill it finds working one. TAF related parameters in tnsnames.ora should have no effect w/o Parallel Server.
Thanks for the term "Transparent Application Failover" I searched for it in the Oracle docs and found lots of references. They say that in Oracle 8i Enterprise Edition, we can apply the same principles for Replicated systems as for OPS, ie change the TNSnames.ora file and add some failover specific information in there. Ofcourse as you said, the client has to be written to support it, as for eg, DMLs will not be moved over to the failover database if they have not been commited. The application has to reissue them.
This definitely sounds promising, my next task is getting it to work !!