zmiany sqlnet.ora lub tnsnames.ora wymagają ponownego uruchomienia?

10

Czy za każdym razem, gdy zmieniasz pliki sqlnet.ora lub tnsnames.ora firmy Oracle, czy system wymaga ponownego uruchomienia? W moim przypadku mam tylko klienta Oracle zainstalowanego na komputerze, o którym mówię, ale z ciekawości, co to znaczy dla instalacji serwera Oracle?

Brian Mains
źródło

Odpowiedzi:

12

Ogólnie nie. Zmiana tnsnames.ora nie powinna wymagać ponownego uruchomienia, ale niektóre aplikacje będą czytać i analizować tnsnames.ora podczas uruchamiania, aby móc na przykład przedstawić użytkownikowi listę rozwijaną serwerów i buforować wszystko, co zostało przeczytane, gdy aplikacja została uruchomiona zamiast ponownie czytać plik. W zależności od sytuacji najłatwiej jest zrestartować klienta Windows zamiast zastanawiać się, jak zabić i ponownie uruchomić wszystkie aplikacje, które mogą buforować dane.

Zmiana sqlnet.ora może skorzystać z ponownego uruchomienia ze względu na spójność, choć nie jest to wymagane. Jeśli robisz coś takiego, jak na przykład włączanie wykrywania martwego połączenia na serwerze sqlnet.expire_time, prawdopodobnie warto zrestartować serwer, aby upewnić się, że ustawienie dotyczy wszystkich połączeń, a nie tylko nowych połączeń - jeśli próbujesz debuguj, dlaczego konkretne martwe połączenie nadal się kręci, wiedząc, że serwer został zrestartowany i że nie patrzysz na artefakt połączenia, które zostało otwarte przed dokonaniem ustawienia, byłoby ogólnie pomocne.

Justin Cave
źródło
3

z mojego doświadczenia z sqlplus i innymi narzędziami:

  • tnsnames.ora jest odczytywany za każdym razem, gdy klient chce otworzyć połączenie
  • sqlnet.ora jest odczytywany przy każdym uruchomieniu procesu klienta

przynajmniej w przypadku sqlplus możesz to łatwo zweryfikować:

  • uruchom sqlplus, a następnie dodaj nowy wpis w tnsnames.ora. możesz tego użyć.
  • uruchom sqlplus, a następnie skonfiguruj śledzenie w sqlnet.ora, to nie powinno działać:
 
trace_directory_clint = c: \ trace
trace_timestamp_client = on
trace_level_client = 16
trace_unique_client = on

Ale oczywiście inna aplikacja może zachowywać się w inny sposób

Oczywiście śledzenie nie będzie działać, jeśli katalog śledzenia, jeśli katalog_śledzenia nie istnieje lub nie można go zapisać. więc powinieneś również sprawdzić, czy twoje śledzenie działa, jeśli je skonfigurujesz przed rozpoczęciem sqlplus

cud173
źródło