Les modifications de sqlnet.ora ou tnsnames.ora nécessitent un redémarrage?

10

Chaque fois que vous modifiez les fichiers sqlnet.ora ou tnsnames.ora d'Oracle, le système nécessite-t-il un redémarrage? Dans mon cas, le client Oracle n'est installé que sur la machine à laquelle je fais référence, mais par curiosité, qu'est-ce que cela signifierait pour une installation de serveur Oracle?

Brian Mains
la source

Réponses:

12

En général, non. Une modification de tnsnames.ora ne devrait pas nécessiter de redémarrage, mais certaines applications liront et analyseront tnsnames.ora au démarrage pour pouvoir présenter une liste déroulante de serveurs à l'utilisateur, par exemple, et mettra en cache tout ce qui a été lu lorsque l'application a démarré plutôt que de relire le fichier. Selon la situation, il peut être plus facile de redémarrer un client Windows plutôt que de trouver comment tuer et redémarrer les applications susceptibles de mettre les données en cache.

Un changement sqlnet.ora peut bénéficier d'un redémarrage pour des raisons de cohérence bien qu'il ne soit pas nécessaire. Si vous faites quelque chose comme l'activation de la détection de connexion morte sur un serveur en définissant sqlnet.expire_time, par exemple, il est probablement judicieux de redémarrer le serveur pour vous assurer que le paramètre s'applique à toutes les connexions plutôt qu'à seulement les nouvelles connexions - si vous essayez de déboguer pourquoi une connexion morte particulière est toujours en attente, sachant que le serveur a été redémarré et que vous ne regardez pas un artefact d'une connexion qui a été ouverte avant la définition du paramètre serait généralement utile.

Justin Cave
la source
3

de mon expérience avec sqlplus et quelques autres outils:

  • tnsnames.ora est lu chaque fois qu'un client souhaite ouvrir une connexion
  • sqlnet.ora est lu chaque fois qu'un processus client démarre

au moins pour sqlplus, vous pouvez le vérifier facilement:

  • démarrez sqlplus , puis ajoutez une nouvelle entrée dans tnsnames.ora. tu peux l'utiliser.
  • démarrez sqlplus puis configurez le traçage dans sqlnet.ora, cela ne devrait pas fonctionner:
 
trace_directory_clint = c: \ trace
trace_timestamp_client = on
trace_level_client = 16
trace_unique_client = on

Mais bien sûr, une autre application pourrait se comporter d'une autre manière

Bien sûr, la trace ne fonctionnera pas si le répertoire de trace si le répertoire trace_ n'existe pas ou n'est pas accessible en écriture. vous devez donc également vérifier que votre traçage fonctionne si vous le configurez avant de démarrer sqlplus

miracle173
la source