Volver al blog
Oracle 3 min de lectura

Cómo crear un data source GridLink para Oracle RAC en WebLogic 12c

Active GridLink es el data source recomendado para conectar WebLogic contra un RAC: un solo pool, eventos FAN y estado del cluster en tiempo real vía ONS. La creación paso a paso, con las diez pantallas del asistente.

Portada de la guía para crear un data source GridLink para Oracle RAC en WebLogic

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.

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:

Asistente de WebLogic: propiedades del data source GridLink, nombre y JNDI
Nombre, scope, JNDI y driver del nuevo data source GridLink.

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

Asistente de WebLogic: opciones de transacción con Supports Global Transactions desmarcado
Transaction Options con las transacciones globales desactivadas.

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:

Asistente de WebLogic: opción Enter complete JDBC URL seleccionada
Se opta por introducir la URL JDBC completa.

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}
Asistente de WebLogic: URL JDBC completa, usuario y contraseña de la base de datos
Connection Properties. Los identificadores del entorno de ejemplo aparecen enmascarados en esta y en las siguientes capturas.

Antes de seguir, comprueba que la conexión contra la base de datos del RAC funciona:

Asistente de WebLogic: pantalla de prueba de conexión con la base de datos RAC
Pantalla de prueba con el driver class y la URL a validar.

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

Mensaje de WebLogic confirmando que la prueba de conexión a la base de datos fue exitosa
Confirmación de que la prueba de conexión fue exitosa.

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:

Asistente de WebLogic: configuración del cliente ONS con FAN Enabled y los nodos del RAC
ONS Client Configuration con FAN activado y los dos nodos añadidos.

Si no conoces el puerto de ONS, lo obtienes con el comando onsctl debug, que está en el GRID_HOME:

$ $GRID_HOME/bin/onsctl debug

Ahora prueba la comunicación remota con los puertos ONS:

Asistente de WebLogic: prueba de la configuración del cliente ONS
Test ONS client configuration, con los nodos separados por coma.
Mensajes de WebLogic confirmando que la conexión con los puertos ONS de ambos nodos fue exitosa
Ambos nodos responden: la comunicación con ONS está operativa.

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:

Asistente de WebLogic: selección de targets para desplegar el data source en el cluster
Select Targets: destino final del data source.

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.