Inhaltsverzeichnis
Easy Connect SQL*Net verwenden
Mit Hilfe des EZ Connect Feature kann zum Beispiel in SQL*Plus auch ohne umständliche Konfigurationen an Tnsnames und Co. ein Connect zur DB aufgebaut werden.
Für die Verwendung muss aber in der sqlnet.ora Datei der jeweils aktuellen Umgebung die Naming Methode EZCONNECT auch konfiguriert werden!
Eintrag in der Datei sqlnet.ora, in den NAMES.DIRECTORY_PATH die Methode EZCONNECT hinzufügen.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
Syntax
Aufbau des Connect Strings
username/password@[//]host[:port][/instance_name]
- / /
- Optional : Zeigt den Start der URL an
- host
- Notwendig: Name oder IP Adresse des Hosts der Datenbank
- port
- Optional : Port Nummer unter dem der Listener läuft (default 1521)
- instance_name=
- Notwendig:Name des Datenbank Servics oder Name der Instance auf dem Zugegriffen werden soll
Beispiele für den Einsatz:
sqlplus system/oracle@//localhost:1521/GPI sqlplus system/oracle@localhost:1521/GPI sqlplus system/oracle@localhost/GPI
Tipp:
In älteren SQL*Plus Versionen und Dos Consolen kann mit einem einfachen Hochkomma das / / in der Shell geschützt werden.
In der Powerschell den String mit „'localhost:1521/GPI'„ „umhüllen“ !;
DEFAULT_SERVICE_listener_name
Soll auch der Service Name nicht mit angegeben werden sondern nur der Hostname, muss auf dem Listern der Maschine ein Default Service konfiguriert werden, der antworten soll, wenn kein Service Name angegeben ist.
Im Listern wird die default instance mit dem Parameter DEFAULT_SERVICE_listener_name konfiguriert.
Konfiguration über die listener.ora erfolgt über den Parameter DEFAULT_SERVICE_<listener_name>:
DEFAULT_SERVICE_LISTENER=GPI
siehe : http://docs.oracle.com/cd/E11882_01/network.112/e10835/listener.htm#BGBJJBCF
Fehler: ORA-12504
In meiner Umgebung hat das Feature allerdings noch nicht funktioniert ……. Fehler wird noch gesucht
Siehe zu diesen 11g Verhalten auch die Metalink Note : ORA-12504 When Using (HOSTNAME) Method For 11G Client/Database [ID 556996.1]
Wichtig: In der Client sqlnet.ora DARF kein HOSTNAME als NAMES.DIRECTORY_PATH definiert sein, sonst überschneidet sich das Verhalten!
Hostnaming
Der Zugriff auf die Instance soll nun nur noch über die Angabe des Hostname des Servers erfolgen.
Dazu muss der Hostname über DNS aufgelößt werden konnen UND ein Service_Name = Hostname muss im Listener der Datenbank Umgebung konfiguriert werden.
Ablauf:
- Client - DNS Eintrag für den verwendeten hostname z.B. GPI_DBServer - Lokal über HOST Datei oder DNS
- Client - sqlnet.ora Eintrag → NAMES.DIRECTORY_PATH= (HOSTNAME)
- Server - listner.ora Konfiguration SID_LIST mit passenden GLOBAL_DBNAME = „Hostname in der Client Konfiguration“
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = gpi_dbserver) (ORACLE_HOME = /oracle/ora11) (SID_NAME = GPI) ) )
Dann kann eine Verbindung aufgebaut werden mit:
sqlplus system/oracle@gpi_dbserver