Änderungen an sqlnet.ora oder tnsnames.ora erfordern einen Neustart?

10

Erfordert das System jedes Mal einen Neustart, wenn Sie die Dateien sqlnet.ora oder tnsnames.ora von Oracle ändern? In meinem Fall habe ich nur den Oracle-Client auf dem Computer installiert, auf den ich mich beziehe. Was würde dies aus Neugier für eine Oracle-Serverinstallation bedeuten?

Brian Mains
quelle

Antworten:

12

Im Allgemeinen nein. Eine Änderung von tnsnames.ora sollte keinen Neustart erfordern, aber einige Anwendungen lesen und analysieren die Datei tnsnames.ora beim Start, um dem Benutzer beispielsweise eine Dropdown-Liste mit Servern anzeigen zu können, und speichern alles, was wann gelesen wurde Die Anwendung wurde gestartet, anstatt die Datei erneut zu lesen. Abhängig von der Situation ist es möglicherweise am einfachsten, einen Windows-Client neu zu starten, anstatt herauszufinden, wie Anwendungen beendet und neu gestartet werden können, bei denen die Daten möglicherweise zwischengespeichert sind.

Eine Änderung von sqlnet.ora kann aus Gründen der Konsistenz von einem Neustart profitieren, obwohl dies nicht erforderlich ist. Wenn Sie beispielsweise die Erkennung einer toten Verbindung auf einem Server durch Einstellen aktivieren sqlnet.expire_time, ist es wahrscheinlich sinnvoll, den Server neu zu starten, um sicherzustellen, dass die Einstellung für alle Verbindungen und nicht nur für neue Verbindungen gilt - wenn Sie dies versuchen Das Debuggen, warum eine bestimmte tote Verbindung immer noch besteht, wenn Sie wissen, dass der Server neu gestartet wurde und Sie kein Artefakt einer Verbindung sehen, die vor dem Vornehmen der Einstellung geöffnet wurde, ist im Allgemeinen hilfreich.

Justin Cave
quelle
3

aus meiner Erfahrung mit sqlplus und einigen anderen Tools:

  • tnsnames.ora wird gelesen, wenn ein Client eine Verbindung herstellen möchte
  • sqlnet.ora wird gelesen, wenn ein Client-Prozess gestartet wird

Zumindest für sqlplus können Sie dies leicht überprüfen:

  • Starten Sie sqlplus und fügen Sie dann einen neuen Eintrag in tnsnames.ora hinzu. du kannst es benutzen.
  • Starten Sie sqlplus und konfigurieren Sie dann die Ablaufverfolgung in sqlnet.ora. Dies sollte nicht funktionieren:
 
trace_directory_clint = c: \ trace
trace_timestamp_client = on
trace_level_client = 16
trace_unique_client = on

Aber natürlich könnte sich eine andere Anwendung auch anders verhalten

Natürlich funktioniert der Trace nicht, wenn das Trace-Verzeichnis, wenn das trace_directory nicht existiert oder nicht beschreibbar ist. Sie sollten also auch überprüfen, ob Ihre Ablaufverfolgung funktioniert, wenn Sie sie vor dem Start von sqlplus konfigurieren

Wunder173
quelle