with using dataguard (Oracle’s hot/cold standby database solution) you have the challenge to make a failover or a roleswitch between the primary and the standby database transparent to the clients. If you don’t, you will have a (partially) loss of service: Clients tnsnames.ora’s will need reconfiguration or the application has to use another TNS connection name now. This paper shows a different, very smart way. If you don’t want to read the whole thing and just have OCI and sql*plus clients to service, have a look at my quick summary. I tested it and use it for production now.
- a working dataguard setup with two database servers, one is primary, the other one is (physical) standby
- one or more client(s) with oracle client installed – I used 10.2.0.3, don’t know for sure if older versions are possible, too.
Use this as service entry in your client’s tnsnames.ora: