TAKTUM Logo


Oracle SQL*Net: Tutorial Oracle SQL*Net einrichten
Anleitung zum Einrichten von Oracle SQL*Net

Auflösungsmethoden von Oracle SQL*Net

Der Verbindungsaufbau zur Oracle Datenbank erfolgt über einen separaten Prozess auf dem Datenbankserver.

Dieser Prozess wird Listener oder TNSListener genannt und wartet darauf die Verbindung zwischen dem Client
und der Datenbank herzustellen.

Der Verbindung erfolgt in dem:

  • das Client Programm den Verbindungsaufbau zur Datenbank durch einen "connect string" initiiert
    Bsp.: connect user/pwd@(description=(address= ....))

  • der "connect string" beinhaltet die Zugangsdaten mit Benutzername und Passwort und die Information
    zu welcher Datenbank (Instanz) die Verbindung aufgebaut werden soll und wo sich diese befindet
    (Netzwerkinformation)

  • die Netzwerkinformationen (Datebankserver, Port und Protokoll) und der Name der Datenbank (Instanz)
    werden auch "connect descriptor" genannt.
    Bsp.: (description=(address=(protocol=tcp)(host=workshop)(port=1521))(connect_data=(service_name=PROD)))

  • der "connect descriptor" kann mit einem "connect identifier" zur Vereinfachung abgekürzt werden
    Bsp.: PROD = (description=(address=(protocol=tcp)(host=workshop)(port=1521)) (connect_data=(service_name=PROD)))

  • der Verbindungsaufbau erfolgt dann mit dem verkürzten "connect string" (auch Alias genannt)
    Bsp.: connect user/pwd@"connect identifier"

Stellt sich nun die Frage woher das Client Programm die Information des "connect descriptor" erhält,
damit der verkürzte "connect string" zum Verbindungsaufbau benutzt werden kann.

Dies geschieht durch Auflösung des "connect identifier" in den gesamten "connect descriptor" durch eine
Benennungsmethode (Naming Method):

  • Local Naming (tnsnames.ora)
  • Directory Naming (Lightweight Directory Access Protocol, LDAP)
  • Oracle Names Server (Oracle spezifisch, gibt es nur bis Version 9i, funktioniert aber sehr gut)
  • Host Naming (DNS, TCP/IP hosts Datei)
  • External Naming (NIS Network Information Service und CDS Cell Directory Services)
  • ezconnect (durch Angabe von Host,Port und Datenbank Service)

In der Praxis hat sich die Auflösung durch die tnsnames.ora Datei (siehe 1.) in kleinen Netzwerken bewährt.
Der Vorteil und auch gleichzeitig der Nachteil ist hierbei das die Datei lokal gespeichert wird
und somit ein erhöhter Administrationsaufwand und Inkonsistenzen zwischen verschiedenen Clients
im Laufe der Zeit zu erwarten sind. Die Auflösungsmethoden unter 4) und 5) sind praktisch unbedeutend und werden quasi nicht mehr benutzt.

Eine zentrale Verwaltung der Datei kann hier mit dem IFILE Parameter oder der Umgebungsvariablen TNS_ADMIN erreicht werden. Siehe hierzu auch SQL*Net Client Konfiguration.

Der Oracle Names Server als zentraler Verzeichnsdienst ist auf Kosten von LDAP in der Version 10g wieder
eingestampft worden. Die Einrichtung eines LDAP Verzeichnisdienstes wird hier nicht weiter beschrieben.

Die Konfiguration für den Verbindungsaufbau erfolgt sowohl auf dem Client als auch auf dem Server.
Hierzu stehen verschiedene Werkzeuge / Möglichkeiten stehen zu Verfügung:

- Net Configuration Assistant
- Net Manager
- SQL*Net Easy Configuration
- manuell durch Editieren der entsprechenden Dateien.

Hinweis:

- die Verbindung kann auch tatsächlich durch Angabe des gesamten "connect string" wie im Beispiel ganz oben dargestellt erfolgen. Hierbei wird natürlich keine Auflösung mehr durchgeführt, es sind alle Informationen vorhanden um die Verbindung herzustellen.



Stichwörter

oracle sqlnet verbindung client server webservice tnsnames onames ldap benennungsmethoden auflösungsmethoden tnsnames.ora sqlnet.ora ifile