As alterações sqlnet.ora ou tnsnames.ora requerem reinicialização?

10

Sempre que você altera os arquivos sqlnet.ora ou tnsnames.ora do Oracle, o sistema exige uma reinicialização? Na minha instância, só tenho o cliente Oracle instalado na máquina a que me refiro, mas por curiosidade, o que isso significaria para uma instalação de servidor Oracle?

Brian Mains
fonte

Respostas:

12

Em geral, não. Uma alteração no tnsnames.ora não deve exigir uma reinicialização, mas alguns aplicativos lêem e analisam o tnsnames.ora na inicialização para poder apresentar uma lista suspensa de servidores ao usuário, por exemplo, e armazenar em cache o que foi lido quando o aplicativo foi iniciado em vez de reler o arquivo. Dependendo da situação, pode ser mais fácil reiniciar um cliente Windows em vez de descobrir como matar e reiniciar qualquer aplicativo que possa ter os dados em cache.

Uma alteração do sqlnet.ora pode se beneficiar de uma reinicialização por questões de consistência, embora não seja necessária. Se você estiver executando algo como ativar a detecção de conexão morta em um servidor configurando sqlnet.expire_time, por exemplo, provavelmente faz sentido reiniciar o servidor para garantir que a configuração se aplique a todas as conexões, e não apenas às novas conexões - se você estiver tentando depurar por que uma conexão inoperante em particular ainda está por aí, sabendo que o servidor foi reiniciado e que você não está vendo algum artefato de uma conexão que foi aberta antes da configuração ser geralmente seria útil.

Justin Cave
fonte
3

da minha experiência wih sqlplus e algumas outras ferramentas:

  • tnsnames.ora é lido sempre que um cliente deseja abrir uma conexão
  • sqlnet.ora é lido sempre que um processo do cliente é iniciado

pelo menos para o sqlplus, você pode verificar isso facilmente:

  • inicie o sqlplus e adicione uma nova entrada em tnsnames.ora. você pode usar isso.
  • inicie o sqlplus e configure o rastreamento no sqlnet.ora, isso não deve funcionar:
 
trace_directory_clint = c: \ trace
trace_timestamp_client = on
trace_level_client = 16
trace_unique_client = on

Mas é claro que outra aplicação poderia se comportar de outra maneira

Obviamente, o rastreamento não funcionará se o diretório de rastreamento se o trace_directory não existir ou não for gravável. então você também deve verificar se o seu rastreio funciona se você o coigurar antes de iniciar o sqlplus

miracle173
fonte