Tous ces fichiers configurent la partie réseau d'Oracle (SQL*Net ou Net8 pour Oracle8). Ces fichiers doivent être créés sur le serveur dans le répertoire $ORACLE_HOME/network/admin
.
tnsnames.ora
Le fichier TNSNAMES.ORA
identifie les services disponibles depuis la machine. Dans notre cas, nous décrirons toutes les bases de données que le serveur a monté. Pour chaque base de données sur votre serveur, ajouter une section comme ci-dessous:
orcl.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = <INSERER LE NOM LOGIQUE DU SERVEUR ICI> )
(Port = 1521)
)
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = <INSERER LE NOM LOGIQUE DU SERVEUR ICI> )
(Port = 1526)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
listener.ora
Le fichier listener.ora
contient la description des services auxquels d'autres machines sont autorisées à se connecter et toutes les configurations nécessaires pour l'écouteur du serveur.
Il contient les sections pour le nom de l'écouteur, son adresse, les bases de données desservies par l'écouteur et les paramètres de configuration.
Voici un exemple:
# Nom de l'écouteur et les adresses a écouter
LISTENER =
( ADDRESS_LIST =
(ADDRESS =
(PROTOCOL=tcp)
(HOST=<INSERT HOST>)
(PORT=1521)
(COMMUNITY=UK_SUP_TCPIP)
)
(ADDRESS =
(PROTOCOL=ipc)
(KEY=700)
(COMMUNITY=UK_SUP_TCPIP)
)
)
# Liste des services désservis par l'écouteur
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=orcl)
(ORACLE_HOME=/home/oracle/7.3.3.0.0)
)
)
# Début des paramètres de configuration
TRACE_LEVEL_LISTENER=OFF
TRACE_FILE_LISTENER = "listener"
LOG_FILE_LISTENER = "listener"
CONNECT_TIMEOUT_LISTENER = 10
STOP_LISTENER = YES
DBA_GROUP = dba
sqlnet.ora
Le fichier sqlnet.ora
contient la configuration pour le noeud du réseau. Ceci est indépendant du nombre de bases de données ou du nombre d'écouteurs. La chose la plus importante dans ce fichier est la variable de configuration
Timeout des Connexions Mortes
.
Le timeout des connexions mortes vérifie chaque processus entrant à la base de données et assure que le côté client répond toujours. Si le client (de tout type) ne répond pas, le processus en tâche de fond du serveur Oracle sera tué.
Ceci est très utile si vous avez plusieurs clients qui accèdent à la base de données, surtout pendant la phase de développement où ces clients ne réussiront certainement pas à sortir proprement de la base de données Oracle.
Voici une copie de mon fichier sqlnet.ora
pour vous servir d'exemple:
TRACE_LEVEL_CLIENT = OFF
sqlnet.expire_time = 30 # le nombre de secondes entre les vérifications des clients.
names.default_domain = world
name.default_zone = world
Maintenant que la configuration des écouteurs et de SQL*Net est finie, nous pouvons essayer de connecter la base de données en utilisant la partie réseau. (Avant nous utilisions l'accès direct à la base de données, alors qu'ici nous simulons une connexion depuis une machine cliente distante).
Pour lancer l'écouteur en utilisant la configuration ci-dessus:
$ lsnrctl
LSNRCTL for SCO System V/386: Version 2.3.3.0.0 - Production on 23-FEB-98 20:38:25
Copyright (c) Oracle Corporation 1994. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> start
Starting /home/oracle/7.3.3.0.0/bin/tnslsnr: please wait...
TNSLSNR for SCO System V/386: Version 2.3.3.0.0 - Production
System parameter file is /home/oracle/7.3.3.0.0/network/admin/listener.ora
Log messages written to /home/oracle/7.3.3.0.0/network/log/listener.log
Listening on: (ADDRESS=(PROTOCOL=tcp)(DEV=6)(HOST=192.168.1.1)(PORT=1521))
Listening on: (ADDRESS=(PROTOCOL=ipc)(DEV=10)(KEY=700))
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=magic.com)(PORT=1521)(COMMUNITY=UK_SUP_TCPIP))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for SCO System V/386: Version 2.3.3.0.0 - Production
Start Date 23-FEB-98 20:38:50
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP ON
Listener Parameter File /home/oracle/7.3.3.0.0/network/admin/listener.ora
Listener Log File /home/oracle/7.3.3.0.0/network/log/listener.log
Services Summary...
orcl has 1 service handler(s)
The command completed successfully
LSNRCTL> exit
Pour arrêter les écouteurs:
$ lsnrctl
LSNRCTL for SCO System V/386: Version 2.3.3.0.0 - Production on 23-FEB-98 20:43:20
Copyright (c) Oracle Corporation 1994. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> stop
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=magic.com)(PORT=1521)(COMMUNITY=UK_SUP_TCPIP))
The command completed successfully
LSNRCTL> exit
Si vous avez une configuration DNS qui ne retourne pas l'adresse IP pour le nom logique specifié, le lancement et l'arrêt de l'écouteur prendront donc in certain temps. (2-3 mins. dépendant de la variable timeout du DNS). Si c'est le cas , ne vous inquiétez pas. Soyez patient.