Inicio » Oracle » Clusterware » FAILOVER

FAILOVER

Es el mecanismo de conectarse a otro recurso cuando la conexión al primer recurso se termina por cualquier circunstancia, los fallos se pueden categorizar en dos grupos:
            Los que se producen en el momento de la conexión inicial

Los errores enmarcados dentro de la primera categoría son fáciles de controlar. Si se intenta conectar a una instancia y esta conexión falla, intenta una conexión posterior a la instancia de respaldo Mientras que tengas instancias de backup configuradas, continúan los intentos de conexiona hasta que tengan éxito. Este proceso recibe el nombre técnico de Connect Time Failover

            Los que se producen una vez que la conexión ha sido establecida con éxito.

En estos casos la aplicación tiene que manejar la reconexión a la instancia de backup y el restablecimiento de la sesión y la continuación de los trabajos comenzados. El nombre técnico de este tipo es failover es “transparent application failover” o TAF.

 Una vez que hemos descrito ambos, en este post nos vamos a centrar en el primero Connection Failover, post posteriores describiremos el TAF:

Conection Failover

Es un mecanismo propio de RAC, pero se puede utilizar en ambientes no RAC cuando se tiene una base de datos en espera configurada. Es simple de configurar, esta configuración se hace a través de los cliente con:

a) Varias direcciones de listener dentro de una descripción (address_list)

b) Múltiples descripciones dentro de una lista de descripciones (description list)

La diferencia es que mientras la primera utiliza el mismo connect data para todas la lista de listeners, la segunda puede utilizar diferentes connect data para cada listener configurado

Ejemplo de  varias direcciones de listener dentro de una descripción:

OCR=           
 (DESCRIPTION=                                  
  (ADDRESS_LIST=                                  
   (ADDRESS= (PROTOCOL=TCP) (HOST=NODE1) (PORT=1521))                                  
   (ADDRESS= (PROTOCOL=TCP) (HOST=NODE2) (PORT=1521))                                  
   (FAILOVER= TRUE))                                  
   (CONNECT_DATA=                                  
    (SERVICE_NAME= OCR)                                                         
   )                                              
  ) 

Por defecto failover esta activado pero se pude desactivar cuando se especifican multiples direcciones. Se puede desahabilitar la opción (FAILOVER=false). Cunado el failover esta deshabilitado, Oracle Net intetara conectarse utilizando la primera direccion y si el intent falla no lo volvera a intentar y generara un error

  Ejemplo de Múltiples descripciones dentro de una lista de descripciones:

 OCR.GHOSH=
   (DESCRIPTION_LIST=
      (FAILOVER=true)
      (LOAD_BALANCE=false)
      (DESCRIPTION=
          (ADDRESS= (PROTOCOL=TCP) (HOST=NODO1) (PORT=1521))
          (CONNECT_DATA=
             (SERVICE_NAME=ocr1))
       )
      (DESCRIPTION=
          (ADDRESS= (PROTOCOL=TCP) (HOST=NODO2) (PORT=1521))
          (CONNECT_DATA=
            (SERVICE_NAME= ocr2))
           )

En el ejemplo anterior está puesto (FAILOVER=true) y (LOAD_BALANCE=false). No es necesario poner (FAILOVER=true), ya que este el comportamiento por defecto, sin embargo, (LOAD_BALANCE=false) no es el comportamiento por defecto, se ha puesto a false para evitar el balanceo de cliente. Cuando el balanceo en el cliente está activado, Oracle Net elige de manera aleatoria la lista de descripciones para hacer la conexión.

About these ads

2 pensamientos en “FAILOVER

  1. Hola, qué tal?

    Excelente artículo. En mi caso me surgió una duda…

    Si yo no tengo RAC pero tengo una configuración de Data Guard y configuro el tnsnames.ora como se menciona aquí, supongamos que falla la instancia activa, Oracle Net intentará conectarse a la instancia Stand By pero conceptualmente no podrá, porque dicha instancia aún no se encuentra en el rol primario.

    ¿Mi razonamiento es correcto o estoy ignorando algún aspecto importante?

    Muchas gracias.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s