web-dev-qa-db-ja.com

sqlnet.oraまたはtnsnames.oraの変更には再起動が必要ですか?

Oracleのsqlnet.oraまたはtnsnames.oraファイルを変更した場合、システムを再起動する必要がありますか?私のインスタンスでは、参照しているマシンにOracleクライアントしかインストールしていませんが、好奇心から、Oracleサーバーのインストールにはどのような意味がありますか?

10
Brian Mains

一般的には違います。 tnsnames.oraの変更では再起動は必要ありませんが、一部のアプリケーションは起動時にtnsnames.oraを読み取って解析し、サーバーのドロップダウンリストをユーザーに提示したり、読み取ったものをキャッシュしたりします。ファイルを再度読み取るのではなく、アプリケーションが起動しました。状況によっては、データがキャッシュされている可能性のあるアプリケーションを強制終了して再起動する方法を理解するよりも、Windowsクライアントを再起動する方が簡単な場合があります。

Sqlnet.oraの変更は、必須ではありませんが、一貫性を保つために再起動の恩恵を受ける可能性があります。たとえば、sqlnet.expire_timeを設定してサーバーでデッド接続検出を有効にするような場合は、サーバーを再起動して、設定が新しい接続だけでなくすべての接続に適用されることを確認してください。特定の停止した接続が依然としてハングアップしている理由をデバッグしようとしています。サーバーが再起動され、設定が行われる前に開かれた接続のアーティファクトを見ていなかったことが一般的には役に立ちます。

12
Justin Cave

私の経験wih sqlplusと他のいくつかのツールから:

  • tnsnames.oraは、クライアントが接続を開こうとするたびに読み取られます
  • sqlnet.oraは、クライアントプロセスが起動するたびに読み取られます

少なくともsqlplusについては、これを簡単に確認できます:

  • start sqlplus次に、tnsnames.oraに新しいエントリを追加します。使用できます。
  • start sqlplusそして、sqlnet.oraでトレースを構成します。これは機能しません。
 
 trace_directory_clint = c:\ trace 
 trace_timestamp_client = on 
 trace_level_client = 16 
 trace_unique_client = on 

しかし、もちろん他のアプリケーションは別の方法で動作する可能性があります

もちろん、trace_directoryが存在しないか、書き込み可能でない場合、トレースディレクトリが機能しないとトレースは機能しません。したがって、開始前にトレースを設定した場合、トレースが機能することを確認する必要もありますsqlplus

3
miracle173