Tnsnames.ora

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Fichier de configuration réseau Oracle (résolution de service côté client)
Voir aussi Tnsping · Start oracle

Le fichier tnsnames.ora associe un nom de service (alias TNS) à une adresse réseau et un identifiant de service Oracle. C'est la méthode de résolution la plus courante côté client (alternative à un annuaire OID/LDAP ou à Oracle Names, obsolète).

Emplacement

su - oracle
cat $ORACLE_HOME/network/admin/tnsnames.ora

L'emplacement peut être redéfini via la variable d'environnement TNS_ADMIN, qui prend alors le pas sur $ORACLE_HOME/network/admin.

Syntaxe

##############################
#          HOSTNAME          #
##############################
SERVICE_NAME.PRD =
  (DESCRIPTION =
    (SOURCE_ROUTE = OFF)
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = SERVICE_NAME)
      (SERVER = DEDICATED)
    )
  )
  • ADDRESS_LIST peut contenir plusieurs adresses (basculement/répartition de charge côté
 client, utile notamment pour se connecter à un cluster RAC via ses VIP).
  • SERVICE_NAME doit correspondre à un service enregistré auprès du listener
 (lsnrctl status côté serveur) — à ne pas confondre avec le SID, identifiant
 interne de l'instance.
  • SERVER = DEDICATED force une connexion en mode serveur dédié (par opposition à un
 mode serveur partagé configuré côté listener).

Vérification

Une fois le fichier renseigné, tester la résolution avec Tnsping :

tnsping SERVICE_NAME.PRD

En cas d'échec, vérifier également le fichier sqlnet.ora du même répertoire (méthode de résolution utilisée, ordre de recherche) et que le listener écoute bien sur le port déclaré (voir Start oracle).

Voir aussi