Изменения sqlnet.ora или tnsnames.ora требуют перезагрузки?

10

Каждый раз, когда вы изменяете файлы Oracle sqlnet.ora или tnsnames.ora, требуется ли перезагрузка системы? В моем случае на компьютере, на который я ссылаюсь, установлен только клиент Oracle, но из любопытства, что бы это значило для установки сервера Oracle?

Брайан Майнс
источник

Ответы:

12

В общем нет. Изменение tnsnames.ora не должно требовать перезагрузки, но некоторые приложения будут читать и анализировать tnsnames.ora при запуске, чтобы иметь возможность, например, предоставить пользователю выпадающий список серверов и кэшировать все, что было прочитано, когда приложение запускается, а не перечитывает файл. В зависимости от ситуации может быть проще перезагрузить клиент Windows, чем выяснить, как завершить работу и перезапустить любые приложения, которые могут кэшировать данные.

Изменение sqlnet.ora может выиграть от перезагрузки ради согласованности, хотя это и не требуется. Если вы делаете что-то вроде включения обнаружения мертвых соединений на сервере sqlnet.expire_time, например, с помощью настройки , возможно, имеет смысл перезагрузить сервер, чтобы убедиться, что этот параметр применяется ко всем соединениям, а не только к новым соединениям - если вы пытаетесь отладка, почему конкретное мертвое соединение все еще висит, зная, что сервер был перезапущен и что вы не смотрите на какой-либо артефакт соединения, который был открыт до того, как была сделана настройка, в общем случае было бы полезно.

Джастин Кейв
источник
3

из моего опыта с sqlplus и некоторыми другими инструментами:

  • tnsnames.ora читается всякий раз, когда клиент хочет открыть соединение
  • sqlnet.ora читается всякий раз, когда запускается клиентский процесс

по крайней мере, для sqlplus вы можете легко это проверить:

  • запустите sqlplus, а затем добавьте новую запись в tnsnames.ora. Вы можете использовать это.
  • запустите sqlplus, а затем настройте трассировку в sqlnet.ora, это не должно работать:
 
trace_directory_clint = c: \ trace
trace_timestamp_client = вкл
trace_level_client = 16
trace_unique_client = вкл

Но, конечно, другое приложение может вести себя по-другому

Конечно, трассировка не будет работать, если каталог трассировки, если директория trace_directory не существует или недоступна для записи. так что вы также должны проверить, работает ли ваша трассировка, если вы настроите ее перед запуском sqlplus

miracle173
источник