# SQLNET.ORA Network Configuration File: # /oracle/ora92/network/admin/sqlnet.ora # Generated by Oracle configuration tools. NAMES.DEFAULT_DOMAIN = testdb29.de SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH = (TNSNAMES, ONAMES, HOSTNAME)Gemäß den Einstellungen für NAMES.DIRECTORY_PATH würde gegenwärtig als erstes die Namensauflösung mit Hilfe von Local Naming, anschließend mit Hilfe eines Oracle Name Servers und als letztes durch Hostnaming durchgeführt werden.
$ORACLE_HOME/bin/netcaWenn Sie dieses Tool starten, müssen Sie als erstes auswählen, was Sie machen möchten. Zur Auswahl steht die Konfiguration des Listeners (auf dem Datenbankserver), die Konfiguration von Benennungsmethoden (in der sqlnet.ora), die Konfiguration des lokalen Net Service Names und das Einrichten eines zentralen Name-Servers. Beispiel:
NAMES.DIRECTORY_PATH= (HOSTNAME, ...)
# LISTENER.ORA Network Configuration File:
# /oracle/ora92/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = pinguin.tuxdorf.de)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = pinguin.tuxdorf.de)
(ORACLE_HOME = /oracle/ora92)
(SID_NAME = testdb29)
)
)
Hinweis:
Bei Veränderungen an der listener.ora muß der Listener-Dienst auch neu gestartet werden.
lsnrctl stop lsnrctl start
sqlplus system/mamanger@pinguin.tuxdorf.de
NAMES.DIRECTORY_PATH= (TNSNAMES ...)
# LISTENER.ORA Network Configuration File:
# /oracle/ora92/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = pinguin)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = testdb29)
(ORACLE_HOME = /oracle/ora92)
(SID_NAME = testdb29)
)
Diese Datei befindet sich standardmäßig im Ordner $ORACLE_HOME/network/admin. Über die tnsnames.ora kann der Client ermitteln, auf welchem Rechner sich die Datenbank befindet und über welchen Port die Kommunikation durchgeführt werden soll.
testdb29.testdb29.de =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = pinguin)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb29)
)
)
Die Datenbank befindet sich auf einem Server namens pinguin.
Sie können hier auch anstelle des Namens eine IP-Adresse eingeben.
Die Verbindung zur Datenbank wird über den Port 1521 hergestellt.
Über connect_data werden die Verbindungsdaten festgelegt.
In unserem Beispiel handelt es sich um eine dedizierte Verbindung und der ServiceName der Datenbank auf dem Server ist testdb29.
Der lokale NetServiceName ist in diesem Beispiel testdb29.testdb29.de.
Das bedeutet, dass der Client bei der Verbindung dies als ServiceName eingeben muß.
sqlplus system/mamanger@testdb29.testdb29.deDie korrekte Namensauflösung können Sie mit dem Programm tnsping testen. Hier wird nun überprüft, ob der ServiceName aufgelöst werden kann und das entsprechende Port offen ist.
tnsping testdb29.testdb29.de ... OK
NAMES.DIRECTORY_PATH= (ONAMES)Bei der Namensauflösung mit Hilfe von Oracle Name Service wird neben dem NAMES.DIRECTORY_PATH=(ONAMES) auch noch ein bevorzugter Nameserver angegeben. Bei Auflösungsanfragen wird dann dieser Server gefragt.
SERVICE_NAMES INSTANCE_NAME
Stefan Hietel dama.go GmbH, Robert Warnke http://rowa.giso.de