====== 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_: 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 ====Quellen==== * http://www.pipperr.de/knowhow/sqlplus/sqlplus.html * http://www.oracle.com/technetwork/database/enterprise-edition/oraclenetservices-neteasyconnect-133058.pdf * http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm