23
Feb

Bonitruco: averigua desde donde se configura Oracle

tnsnamesUno de los problemas más habituales a la hora de trabajar con la base de datos Oracle y todos sus productos asociados es averiguar donde está el fichero TNSNAMES.ORA que configura los alias de las cadenas de conexión a distintas bases de datos. O, mas exactamente cuál -de los trescientos que se puede acabar teniendo en una máquina- es el fichero tnsnames.ora que configura realmente la conexión.

Afortunadamente, cuando se trabaja con java no se utilizan estos ficheros de configuración externos. Se pueden guardar y utilizar las adenas de conexión y usarlas directamente con el driver JDBC de tipo 4 de Oracle, pero  siguen siendo necesarios para usar cualquier cliente o programa que utilice el driver nativo de la base de datos como el PL/SQL Developer o el Toad.

La teoría dice que la variable de entorno TNS_ADMIN es la que configura la ruta donde se encuentra el fichero de configuración tnsnames.ora, pero la cosa se empieza a complicar cuando también se involucra a la variable de entorno PATH.

Cualquier instalación de un producto de Oracle -desde Weblogic a Discoverer- suele manipular la variable de entorno PATH, lo que puede provocar, desde el sorpresivo cambio de la versión de JDK de java que se esta utilizando… hasta el cambio de tnsnames.ora que configura el acceso a base de datos Oracle del sistema.

Para acabar de rematar la faena, Oracle utiliza una búsqueda jerárquica de ficheros de configuración y, además, esta jerarquía es distinta según el sistema operativo utilizado. Hasta puede llegar a utilizar configuración guardada en otra fichero de configuración: sqlnet.ora, lo que puede volver loco al programador mas duro.

Hay un truco para solucionar este problema y averiguar el fichero que configura las conexiones a Oracle: el comando tnsping.

El comando tnsping sirve, originalmente, para hacer un ping que compruebe la conexión a una base de datos remota mediante la siguiente sintaxis:

tnsping alias_de_base_de_datos

Pero, además, tnsping indica la ruta física del fichero de configuración y la propia instalación de Oracle hace que este disponible en el path del sistema, así, se puede utilizar para averiguar donde esta el fichero de configuración de las cadenas de conexión de nuestro sistema, haciendo ping a una base de datos existente o ficticia:

tnsping

Artículos relacionados:

  1. Compartiendo mesa y mantel con Oracle Ayer acudí a un encuentro de bloggers organizado por Oracle...


free blog themes
free blog themes