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を開始する前にトレースを設定した場合、トレースが機能することも確認する必要があります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.