Chat with us, powered by LiveChat
Configurando driver OCI en JBoss EAP 6.4 para Oracle RAC
Configurando Certificados con Oracle Wallet Manager
21 septiembre, 2017
Microsoft Azure ¿Qué es? ¿IaaS, PaaS, SaaS?
24 octubre, 2017

En esta ocasión, mostraré lo necesario para configurar un Datasource en JBoss EAP 6 que utilice driver OCI.

Antes de ello, veamos que beneficio tenemos al utilizar el driver de tipo OCI.

Comúnmente para las conexiones hacia Base de Datos Oracle se utiliza el driver de tipo THIN, ya sea por conexión directa o por medio de un datasource. Al utilizar un driver OCI se obtienen ciertos beneficios adicionales, por ejemplo, en caso de fallo de un nodo de base de datos en la Base de Datos en modo RAC, la comunicación entre la Aplicación y la Base de Datos es transparente, gracias a que OCI permite el uso TAF (Transparent Application Failover), con ello la conexión será manejada por otro nodo de Base de Datos sin generar un error en la aplicación o que ésta solicite que se inicie sesión nuevamente.

La URL de conexión para OCI es mas simple, por ejemplo:

jdbc:oracle:oci:@RINNOVODB

Mientras que la URL para THIN requiere mayor parametrización:

jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.50) (PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.51) (PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=RINNOVODB)))

———————————————————-

Ahora veamos cómo se configura el Driver OCI para JBoss:

Nota: Para ejemplo se entiende que el cliente de Base de Datos Oracle se encuentra instalado con las librerías y drivers para OCI y que JBoss EAP 6 se encuentra configurado en modo de dominio y que el ambiente es un Red Hat EL.

1. Lo primero que hay que hacer es definir ciertas variables de ambiente con el fin que JBoss logre encontrar las librerías necesarias para OCI, estas variables se pueden definir ya sea en un archivo de configuración de variables, en una terminal o incluirlas archivo domain.sh:

export JAVA_HOME=/jboss/java/jdk1.8.0_141
export JBOSS_HOME=/jboss/EAP-6.4.0/
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/client1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$JAVA_HOME/bin:$PATH:$ORACLE_HOME/bin

2. Luego debemos configurar el archivo tnsnames.ora el cual debe contener el alias al cual se hace referencia en la URL de conexión al crear el Datasource y que utilice el driver OCI. Este archivo se encuentre en el cliente de base de datos Oracle en la ruta $ORACLE_HOME/network/admin

Como se aprecia en la imagen se está utilizando el nombre de SCAN así como el servicio balanceado.

3. Crear el Datasource utilizando la URL para driver OCI:

Como se aprecia en la imagen en la URL de conexión se utiliza el alias que se ha especificado en el archivo tnsnames.ora, luego si se prueba la conexión del Datasource veremos que ésta es exitosa!

Así es como se configura el driver OCI. 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *