Oracle net
| Fiche express | |
|---|---|
| Type | Couche réseau Oracle (SQL*Net) |
| Fichier client | tnsnames.ora |
| Méthodes de résolution | Local naming, Easy Connect, LDAP, externe |
| Voir aussi | Lsnrctl · Instance · Instantclient |
Oracle Net (anciennement SQL*Net) est la couche logicielle qui permet la communication entre un client et un serveur Oracle à travers le réseau. Côté serveur, elle repose sur le listener ; côté client, sur une résolution de nom de service qui indique comment joindre la base souhaitée.
Résolution du nom de service côté client
La configuration se fait via %ORACLE_HOME%\network\admin\tnsnames.ora (ou
$ORACLE_HOME/network/admin/tnsnames.ora sous Unix/Linux), selon plusieurs
méthodes possibles :
- Local naming : résolution via le fichier local
tnsnames.ora(la plus
courante).
- Easy Connect naming : connexion directe sans passer par un alias, en indiquant
hôte/port/service dans la chaîne de connexion : sqlplus utilisateur/mot_de_passe@//hote[:port]/nom_service
- Annuaire LDAP : résolution centralisée via un annuaire (Oracle Internet Directory ou
autre LDAP compatible), utile pour mutualiser la configuration sur de nombreux clients.
- Naming externe : délégation à un service de nommage tiers (NIS...), peu utilisé
aujourd'hui.
Le service auquel le client se connecte est identifié par un nom de service
(SERVICE_NAMES), généralement construit comme :
SERVICE_NAMES = DB_NAME.DB_DOMAIN
Exemple de fichier tnsnames.ora
Extrait minimal décrivant un alias LISTENER avec deux protocoles d'accès (IPC
local pour les liens externes PL/SQL, TCP pour le réseau) :
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = srvwinora)(PORT = 1521))
)
)
Une entrée de connexion complète vers une base ajoute en général un bloc
CONNECT_DATA précisant le SERVICE_NAME :
MABASE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = srvwinora)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = mabase.exemple.local)
)
)
Voir aussi
- Lsnrctl — gestion du listener côté serveur
- Instance — l'instance à laquelle Oracle Net donne accès
- Instantclient — client léger utilisant également tnsnames.ora / Easy Connect