Url de conexión JDBC a Oracle RAC

29 abril 2010 at 11:45 am 3 comentarios

Recientemente uno de nuestros entornos ha migrado a Oracle RAC y hemos tenido el problemilla que os detallo a continuación.

Parece ser que en Oracle RAC la URL de conexión a la BBDD mediante JDBC no permite una de sus versiones clásicas. Así por ejemplo una conexión del estilo:

jdbc:oracle:thin:@<HOST>:1521:<SID>

no funciona saltando la siguiente excepción:

java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
...

Para solucionarlo podemos utilizar la otra forma corta de url que aparece por ejemplo en este listado de formatos de conexión JDBC (en inglés ):

jdbc:oracle:thin:@//<HOST>:1521/<SID>

También podemos utilizar una URL en formato largo:

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<HOST>(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=<SID>)))

Si tenemos varios servidores deberíamos poner una URL en el siguiente formato:

jdbc:oracle:thin:@<HOST1>^<HOST2>:1521:<SID>

jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=<HOST1>) (PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=<HOST2>) (PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=<SID>)))

aunque esto último no lo he podrido probar lo he visto en el JUG de Padova (en inglés ).

Espero que le pueda servir de ayuda a alguien.

Entry filed under: Java. Tags: , , .

Redondeando en Java Análisis estático de código en Hudson para proyectos Ant

3 comentarios Add your own

  • 1. Samuel Zarza  |  29 abril 2010 a las 8:14 pm

    La URL con varios servidores la probamos hace varios años con una aplicación usando Weblogic 8 y Oracle RAC 8i, y sí que funcionaba, aunque creo recordar que tuvimos agún problema con las transacciones y tuvimos que usar los drivers XA como si todas las transacciones fueran distribuídas. Saludos!

  • 2. Miguel  |  29 abril 2010 a las 10:25 pm

    Muy buen aporte Samuel.

    ¡Muchas gracias!

  • 3. David  |  17 septiembre 2012 a las 10:14 pm

    EXCELENTE!! Funciono el jdbc como dices para varios servidores en RAC

Deja una respuesta

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. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Mi perfil

View Miguel Orbegozo's profile on LinkedIn

Feedjit

Feeds

Otros…

BlogESfera Directorio de Blogs Hispanos - Agrega tu Blog

Bitacoras.com

Add to Technorati Favorites


A %d blogueros les gusta esto: