web-dev-qa-db-fra.com

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

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?

10
Brian Mains

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 activer la détection de connexion morte sur un serveur en définissant sqlnet.expire_time, par exemple, il est probablement logique de redémarrer le serveur pour vous assurer que le paramètre s'applique à toutes les connexions plutôt qu'aux seules 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 le paramétrage serait généralement utile.

12
Justin Cave

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 démarrage d'un processus client

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

  • start sqlplus puis ajoutez une nouvelle entrée dans tnsnames.ora. tu peux l'utiliser.
  • start sqlplus puis configurez le suivi 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 entendu, 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 devriez donc également vérifier que votre traçage fonctionne si vous le configurez avant de commencer sqlplus

3
miracle173