Oracle ofrece dos tipos de data source para gestionar las conexiones contra un RAC: el Multi Data Source, el clásico, y el Active GridLink, introducido en la versión 10.3.4 de WebLogic. Esta guía recorre la creación de un GridLink paso a paso, asumiendo un RAC de dos nodos y WebLogic 12c.
Por qué GridLink y no Multi Data Source
De las dos opciones, GridLink destaca por razones administrativas y de facilidad de gestión: un único pool en lugar de uno por instancia, respuesta a eventos FAN que habilita Fast Connection Failover, y obtención de información del estado del RAC en tiempo real a través de ONS. En la práctica, el data source se entera de que un nodo ha caído en el momento en que ocurre, en vez de descubrirlo cuando una conexión falla.
Requisitos previos
- Un RAC de dos nodos operativo.
- Oracle WebLogic Server 12c (GridLink está disponible desde 10.3.4).
- El SCAN listener y los puertos ONS de cada nodo alcanzables desde los servidores WebLogic.
1. Crear el data source
Entra en la consola de WebLogic, despliega el nodo Services del árbol de la izquierda y accede a Data Sources. Pulsa New y selecciona GridLink Data Source de la lista.
En la primera pantalla indica el nombre del data source y el nombre JNDI con el que las aplicaciones lo localizarán:

En las opciones de transacción, desmarca Supports Global Transactions y continúa:

A continuación elige Enter complete JDBC URL, para escribir la URL completa en lugar de que el asistente la componga a partir de host y puerto:

2. Definir la conexión a la base
Introduce la URL de conexión, más el usuario y la contraseña del esquema del que este data source obtendrá conexiones. La URL debe seguir este formato:
jdbc:oracle:thin:@{scan-listener-host}:{scan-listener-port}/{service-name}
Antes de seguir, comprueba que la conexión contra la base de datos del RAC funciona:

Si los datos son correctos, la consola lo confirma con un mensaje en la parte superior:

3. Configurar ONS para los eventos FAN
Marca la opción FAN Enabled y añade cada nodo del RAC con su puerto remoto de ONS, en formato host:puerto:

Si no conoces el puerto de ONS, lo obtienes con el comando onsctl debug, que está en el GRID_HOME:
$ $GRID_HOME/bin/onsctl debugAhora prueba la comunicación remota con los puertos ONS:


4. Seleccionar los targets
Por último, elige dónde se despliega el data source —un cluster completo, parte de él o servidores concretos— y pulsa Finish:

Resultado
Con eso el data source GridLink queda creado y desplegado. A partir de ahí gestiona por su cuenta el reparto de conexiones entre las instancias del RAC y reacciona a los eventos FAN: cuando un nodo cae o vuelve a estar disponible, el pool se ajusta sin intervención manual.
Un último detalle: si el domain está en production mode, los cambios quedan en estado pendiente hasta que pulses Activate Changes. Si esa activación se queda colgada en un clúster, es probable que te encuentres con un BEA-240003.
