Archive for abril, 2010

Url de conexión JDBC a Oracle RAC

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.

29 abril 2010 at 11:45 am 3 comentarios


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