Qual è esattamente l'affare con gli identificativi di connessione oracle separati da un punto
-
04-07-2019 - |
Domanda
Me lo stavo chiedendo da un po ', ma dato che non è emerso molto, l'ho lasciato nella colonna "misterioso mago".
Mi sembra che ci sia una sorta di relazione tra un identificatore di connessione come ABC e ABC.DEFG e non capisco esattamente cosa sia.
Ad esempio, una macchina che stavo installando proprio ora stavo avendo problemi con l'uso dell'identificatore ED2 anche se nel mio file tnsnames avevo chiaramente
EDC2 = (....)
Questo è stato copiato e incollato da un altro computer che ha funzionato bene. Tuttavia, fare tnsping EDC2 non riuscirebbe a risolversi finché non lo avessi cambiato per dire
EDC2.WORLD = (...)
a quel punto la risoluzione su EDC2 ha iniziato a funzionare. Cosa sta succedendo qui?
Soluzione
L'alias TNS nel file tnsnames.ora interagisce con il parametro
NAMES.DEFAULT_DOMAIN
nel file sqlnet.ora. Se NAMES.DEFAULT_DOMAIN
è impostato su WORLD, ad esempio, quando si tenta di connettersi a un alias senza dominio, il file sqlnet.ora dice a Oracle di aggiungere automaticamente il dominio prima di eseguire la ricerca nel file tnsnames.ora. Se si tenta di connettersi a un alias con un dominio, NAMES.DEFAULT_DOMAIN
viene ignorato.
La mia preferenza / suggerimento generale è di impostare NAMES.DEFAULT_DOMAIN
su WORLD in sqlnet.ora e specificare EDC2.WORLD nel file tnsnames.ora. In questo modo, sia l'identificatore di connessione EDC2 che EDC2.WORLD funzioneranno-- il primo viene modificato nel secondo a causa del parametro DEFAULT_DOMAIN
.