2 Replies Latest reply on Nov 1, 2012 2:57 PM by user564785

    Is applicaiton aware of oracle failover to standby?

    user564785
      When you manually fail over from prod to standby, how do client application know to point to the standby database?
        • 1. Re: Is applicaiton aware of oracle failover to standby?
          mseberg
          Hello;

          Generally this is handled with tnsnames.ora and a trigger. So to answer your question, No, not without help.
          ernie =
           (DESCRIPTION =
              (ADDRESS_LIST =
                 (ADDRESS = (PROTOCOL = TCP)(HOST = primary.host)(PORT = 1521))
                 (ADDRESS = (PROTOCOL = TCP)(HOST = standby.host)(PORT = 1521))
                 )
                 (CONNECT_DATA =
                 (SERVICE_NAME = ernie)
              )
           )
          and then
          CREATE TRIGGER CHECK_ERNIE_START AFTER STARTUP ON DATABASE
          DECLARE
           V_ROLE VARCHAR(30);
          BEGIN
           SELECT DATABASE_ROLE INTO V_ROLE FROM V$DATABASE;
           IF V_ROLE = 'PRIMARY' THEN
           DBMS_SERVICE.START_SERVICE('ernie');
           ELSE
           DBMS_SERVICE.STOP_SERVICE('ernie');
           END IF;
          END;
          /
          For additional information :

          see DBMS_SERVICE.CREATE_SERVICE

          http://docs.oracle.com/cd/E11882_01/appdev.112/e10577/d_serv.htm

          How to fail over a client transparently in a dataguard switchover/failover scenario

          http://www.usn-it.de/index.php/2007/06/28/how-to-fail-over-a-client-transparently-in-a-dataguard-switchoverfailover-scenario/

          Best Regards

          mseberg