1.2K
Tnsnames.ora es un archivo de configuración de SQL*Net/Oracle Network Manager que contiene parámetros de configuración de red del lado del cliente y describe las bases de datos de Oracle disponibles y cómo conectarse a ellas. El archivo contiene el nombre de la conexión, el protocolo, la dirección, el puerto de red y el nombre de la instancia. El archivo tnsnames.ora traduce el alias del servicio Oracle Net en la cadena de conexión a una dirección de red, protocolo, servicio y nombre de instancia.
El archivo de texto sin formato tnsnames.ora se encuentra tanto en el cliente como en el servidor. Normalmente, este archivo se encuentra en el directorio oracle_homenetworkadmin.
De forma predeterminada, tnsnames.ora reside en la siguiente ubicación:
- ventanas — Oracle_HOMEredadmin;
- linux — Oracle_HOME/red/admin.
Además, la ubicación del archivo tnsnames.ora se puede definir mediante la variable de entorno TNS_ADMIN.
Puede realizar cambios en el archivo utilizando cualquier editor de texto. En Windows, puede usar bloc de notas.exeen sistemas *NIX — vi. Veamos un ejemplo de archivo tnsnames.ora simple que describe un alias de servicio de Oracle.
de_mun_sap12 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = de-mun-sap12.theitbros.com])(Port = 1522)) ) (CONNECT_DATA = (SERVICE_NAME = de_mun_sap12) ) )
Este archivo describe un alias de_mun_sap12 que un usuario puede utilizar para conectarse a una base de datos de Oracle. Puede obtener la configuración de conexión de la base de datos de Oracle desde el archivo listener.ora. El listener.ora reside en el servidor de Oracle y contiene parámetros de configuración de red del lado del servidor.
Pista. El archivo tnsnames.ora es sensible a la sintaxis. Siempre verifique la corrección de la nueva configuración al realizar cambios en este archivo.
En algunos casos, cuando especificó la configuración correcta en el archivo tnsnames.ora y verificó la corrección de la conexión mediante tnsping, SQL Developer no muestra las conexiones de base de datos disponibles.
Nota. Si instaló el software de cliente de Oracle y configuró las conexiones en tnsnames.ora, Oracle SQL Developer completa automáticamente el panel del navegador Conexiones. La lista de alias contiene nombres de servicios de red definidos en tnsnames.ora.
De forma predeterminada, Oracle SQL Developer busca el archivo tnsnames.ora en la carpeta oracle_home /network/admin/tnsnames.ora, así como en las siguientes claves de registro:
HKLMSOFTWAREORACLEORACLE_HOME_KEY
HKLMSOFTWAREORACLEORACLE_HOME
Pista. En Windows, puede usar el sistema y las versiones locales del archivo tnsnames.ora. La versión del sistema se encuentra en oracle_homenetworkadmintnsnames.ora. La versión local del archivo tnsnames.ora puede estar ubicada en el directorio de trabajo actual desde el que se ejecuta la aplicación. Es decir, puede tener varios archivos tnsnames.ora locales en diferentes directorios desde los que ejecuta su aplicación (aunque esto no se recomienda).
SQL Developer busque un archivo tnsnames.ora en el siguiente sistema de archivos y ubicaciones de registro:
- $HOME/.tnsnames.ora;
- $TNS_ADMIN/tnsnames.ora;
- clave de búsqueda TNS_ADMIN en el registro;
- /etc/tnsnames.ora (entorno Linux);
- $ORACLE_HOME/red/admin/tnsnames.ora;
- LocalMachineSOFTWAREORACLEORACLE_HOME_KEY;
- LocalMachineSOFTWAREORACLEORACLE_HOME.
Si la lista de conexiones está vacía, SQL Developer no encontró el archivo tnsnames.ora en los directorios especificados. Puede especificar la ruta al archivo tnsnames.ora manualmente.
- Inicie SQL Developer y vaya a Herramientas > Preferencias;
- En el preferencias opción, expanda la Base de datos componente, haga clic en Avanzadoy en el «Directorio Tnsnames», busque la carpeta donde se encuentra su archivo tnsnames.ora;
Pista. No intente utilizar un enlace simbólico al archivo tnsnames.ora en Windows. SQL Developer no sabe cómo usarlo.
- Reinicie el desarrollador de SQL;
- Ahora, en SQL Developer, seleccione Conexiones y haga clic en Nueva conexión;
- Seleccione el tipo de conexión TNS de la lista desplegable;
- ¡Y listo! Ahora todos los alias de red de tnsnames.ora aparecerán en la lista de conexiones disponibles.
Si las instancias de Oracle especificadas no están disponibles en SQL Developer, verifique la conectividad con ellas mediante el tnsping herramienta. El comando tnsping usa información del archivo tnsnames.ora para verificar la conectividad con el host de la base de datos de Oracle.
Nota. Aprenda a truncar los registros de transacciones del servidor SQL.
Por ejemplo, use el siguiente comando para el ejemplo anterior de tnsnames.ora:
tnsping de_mun_sap12
Deben aparecer las siguientes líneas:
Se usó el adaptador TNSNAMES para resolver el alias.
Intentando contactar….
Si la conexión es exitosa, aparecerá OK. Si se especifican nombres de servicio de red incorrectos en el archivo tnsname, obtendrá un error:
TNS-03505: Error al resolver el nombre
Si el archivo contiene una dirección de servidor válida pero no tiene un detector ejecutándose en él, el comando tnsping devolverá un error:
TNS-12541: TNS: sin oyente
También puede utilizar el trcrouta utilidad, que muestra el paquete de ruta de rastreo exitoso que pasó del cliente al oyente.
trcroute de_mun_sap12
Si el oyente no está disponible, este comando devolverá errores:
TNS-12543: TNS:unable to connect to destination TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-03601: Failed in route information collection