¿Cuál es exactamente el trato con los identificadores de conexión de Oracle separados por un período?
-
04-07-2019 - |
Pregunta
Me he estado preguntando esto por un tiempo, pero como no ha aparecido mucho, lo he dejado en la columna "misterioso y mágico".
Me parece que hay algún tipo de relación entre un identificador de conexión como ABC y ABC.DEFG y no entiendo lo que es.
Por ejemplo, una máquina que estaba configurando justo ahora estaba teniendo problemas con el uso del identfier ED2, aunque en mi archivo tnsnames tenía claramente
EDC2 = (....)
Esto fue copiado y pegado desde otra computadora que funcionó bien. Sin embargo, hacer tnsping EDC2 no se resolvería hasta que lo cambié para decir
EDC2.WORLD = (...)
en el que el punto de resolución a EDC2 comenzó a funcionar. ¿Qué está pasando aquí?
Solución
El alias TNS en el archivo tnsnames.ora interactúa con el parámetro
NAMES.DEFAULT_DOMAIN
en el archivo sqlnet.ora. Si NAMES.DEFAULT_DOMAIN
se configura en WORLD, por ejemplo, cuando intenta conectarse a un alias sin dominio, el archivo sqlnet.ora le dice a Oracle que agregue automáticamente el dominio antes de realizar la búsqueda en el archivo tnsnames.ora Si intenta conectarse a un alias con un dominio, se ignora NAMES.DEFAULT_DOMAIN
.
Mi preferencia / sugerencia general es establecer NAMES.DEFAULT_DOMAIN
en WORLD en sqlnet.ora y especificar EDC2.WORLD en el archivo tnsnames.ora. De esa manera, tanto el identificador de conexión EDC2 como el EDC2.WORLD funcionarán: el primero cambia a este último debido al parámetro DEFAULT_DOMAIN
.