Le modifiche sqlnet.ora o tnsnames.ora richiedono il riavvio?


10

Ogni volta che modifichi i file sqlnet.ora o tnsnames.ora di Oracle, il sistema richiede un riavvio? Nel mio caso, ho solo il client Oracle installato sulla macchina a cui mi riferisco, ma per curiosità cosa significherebbe per un'installazione del server Oracle?

Risposte:


12

In generale, no. Una modifica a tnsnames.ora non dovrebbe richiedere un riavvio, ma alcune applicazioni leggeranno e analizzeranno tnsnames.ora all'avvio per poter presentare un elenco a discesa di server all'utente, ad esempio, e memorizzeranno nella cache tutto ciò che è stato letto quando l'applicazione è stata avviata anziché rileggere il file. A seconda della situazione, potrebbe essere più semplice riavviare un client Windows piuttosto che capire come uccidere e riavviare tutte le applicazioni che potrebbero avere i dati memorizzati nella cache.

Una modifica sqlnet.ora potrebbe trarre vantaggio da un riavvio per motivi di coerenza, sebbene non sia necessario. Se stai facendo qualcosa come abilitare il rilevamento di connessioni morte su un server impostando sqlnet.expire_time, ad esempio, probabilmente ha senso riavviare il server per assicurarti che l'impostazione si applichi a tutte le connessioni anziché solo a nuove connessioni, se stai provando a eseguire il debug del motivo per cui una particolare connessione non funzionante è ancora in sospeso, sapendo che il server è stato riavviato e che non si sta osservando alcun artefatto di una connessione che è stata aperta prima dell'impostazione sarebbe generalmente utile.


3

dalla mia esperienza con sqlplus e alcuni altri strumenti:

  • tnsnames.ora viene letto ogni volta che un client desidera aprire una connessione
  • sqlnet.ora viene letto ogni volta che si avvia un processo client

almeno per sqlplus puoi verificarlo facilmente:

  • avviare sqlplus e quindi aggiungere una nuova voce in tnsnames.ora. Puoi usarlo.
  • avviare sqlplus e quindi configurare la traccia in sqlnet.ora, questo non dovrebbe funzionare:
 
trace_directory_clint = c: \ trace
trace_timestamp_client = on
trace_level_client = 16
trace_unique_client = attivo

Ma ovviamente altre applicazioni potrebbero comportarsi in un altro modo

Naturalmente la traccia non funzionerà se la directory di traccia se la directory_directory non esiste o non è scrivibile. quindi dovresti anche verificare che la tua traccia funzioni se la modifichi prima di iniziare sqlplus

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.