Dans un environnement Oracle cluster 11g R2, le listener ne peut pas démarrer avec une erreur sur la définition de nom “locahost” défini dans le fichier /etc/hosts.

La semaine dernière lors d’une opération de migration de réseau dans un vlan séparé, les adresses IP de nos serveurs sont restées identiques, leurs noms aussi, seul le nom de domaine a changé.

Une recherche sur le support Oracle ne montrait pas de dépendance du cluster au nom de domaine.
Donc rien n’aurait du perturber le fonctionnement du cluster lors de l’opération.
Je constatais, à la fin de la migration, des dysfonctionnements sur l’un des noeuds. Les ressources suivantes :

  • instance,
  • ons,
  • listener.

étaient OFFLINE. A l’éxécution de la commande lsnrctl status , je recevais ces messages :LSNRCTL for Linux: Version 11.2.0.1.0 – Production on 06-DEC-2010 10:33:20
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused

Aprés quelques recherches sur le support oracle je pouvais redémarer le listener, mais dans des conditions non satisfaisantes, puisque les deux resources eons et ons étaient affectées par cette solution.

Une vérification des fichiers listener.ora , endpoints_listener.ora ne donna rien. Je decidais donc de lancer netca pour verifier au travers de l’outil d’oracle les paramétrages.

Et là, surprise , X11 me renvoya le message localhost:port inconnue.

  • Pourquoi la couche X11 etait elle affectée par le changement de domaine?
  • Pourquoi sur un seul des noeuds ?

La réponse vint rapidement à la lecture du fichier /etc/hosts : celui-ci avait été modifié pour remplacer le nom long du système et par erreur, l’alias localhost avait été transformé en locahost.
 

-rw-r--r-- 2 root root 270 Dec  3 11:43 hosts

[root@vmtestorarac2 etc]# cat hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1    localhost.localdomain.com locahost
172.22.1.165    vmtestorarac2.it.dbi-services.com vmtestorarac2
192.168.1.3   vmtestorarac1-i
192.168.1.4   vmtestorarac2-i

Le rétablissement du nom a immédiatement permis le lancement du listener et de ces dépendances.

grid@vmtestorarac2:/etc/ [+ASM2] lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-DEC-2010 11:34:43

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                06-DEC-2010 11:26:20
Uptime                    0 days 0 hr. 8 min. 22 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u00/app/11.2.0/grid_1_0/network/admin/listener.ora
Listener Log File         /u00/app/grid/diag/tnslsnr/vmtestorarac2/listener/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.22.1.165)(PORT=1521)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.22.1.167)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
 Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "ADMDBXDB.dbi-services.com" has 1 instance(s).
 Instance "ADMDB2", status READY, has 1 handler(s) for this service...
Service "ADMDB_LEMONT.dbi-services.com" has 1 instance(s).
 Instance "ADMDB2", status READY, has 1 handler(s) for this service...
The command completed successfully