¿Es necesario reiniciar los cambios en sqlnet.ora o tnsnames.ora?

10

Cada vez que cambia los archivos sqlnet.ora o tnsnames.ora de Oracle, ¿el sistema requiere un reinicio? En mi caso, solo tengo el cliente Oracle instalado en la máquina a la que me refiero, pero por curiosidad, ¿qué significaría para la instalación de un servidor Oracle?

Brian Mains
fuente

Respuestas:

12

En general, no. Un cambio de tnsnames.ora no debería requerir un reinicio, pero algunas aplicaciones leerán y analizarán tnsnames.ora al inicio para poder presentar una lista desplegable de servidores al usuario, por ejemplo, y guardarán en caché lo que se haya leído cuando la aplicación se inició en lugar de volver a leer el archivo. Dependiendo de la situación, puede ser más fácil reiniciar un cliente de Windows en lugar de descubrir cómo matar y reiniciar cualquier aplicación que pueda tener los datos en caché.

Un cambio en sqlnet.ora podría beneficiarse de un reinicio en aras de la coherencia, aunque no es necesario. Si está haciendo algo como habilitar la detección de conexión inactiva en un servidor configurando sqlnet.expire_time, por ejemplo, probablemente tenga sentido reiniciar el servidor para asegurarse de que la configuración se aplica a todas las conexiones en lugar de solo a las conexiones nuevas, si está intentando Depurar por qué una conexión inactiva en particular todavía está dando vueltas, sabiendo que el servidor se reinició y que no está viendo algún artefacto de una conexión que se abrió antes de realizar la configuración, generalmente sería útil.

Justin Cave
fuente
3

de mi experiencia con sqlplus y algunas otras herramientas:

  • tnsnames.ora se lee cada vez que un cliente desea abrir una conexión
  • sqlnet.ora se lee cada vez que se inicia un proceso de cliente

al menos para sqlplus puedes verificar esto fácilmente:

  • inicie sqlplus y luego agregue una nueva entrada en tnsnames.ora. puedes usarlo.
  • inicie sqlplus y luego configure el rastreo en sqlnet.ora, esto no debería funcionar:
 
trace_directory_clint = c: \ trace
trace_timestamp_client = on
trace_level_client = 16
trace_unique_client = on

Pero, por supuesto, otra aplicación podría comportarse de otra manera

Por supuesto, la traza no funcionará si el directorio de traza si el directorio_traza no existe o no se puede escribir. así que también debe verificar que su rastreo funcione si lo configura antes de comenzar sqlplus

milagro173
fuente