Die wahrscheinlich gebräuchlichste und sicherlich nicht nur DBAs bekannte Methode zur Namensauflösung für Datenbankverbindungen dürfte das „Local Naming“, also die Verwendung einer tnsnames.ora
sein.
Für ad hoc Zugriffe auf Datenbanken, für die sich der Aufwand zur Einrichtung einer tnsnames.ora
nicht lohnt, bietet sich hingegen „Easy Connect“ an. Hier erfolgt die Beschreibung der Verbindung im Stile einer URL. Das Verfahren ist ab Client Version 10g verfügbar.
Schauen wir uns im Folgenden die Konfiguration sowie die Syntax an und welche zusätzlichen Möglichkeiten dir Easy Connect Plus bietet.
Die Konfiguration der unterstützten Namensauflösungsverfahren erfolgt grundsätzlich in der sqlnet.ora
mit dem Parameter NAMES.DIRECTORY_PATH.
Die Einträge am Client müssen sich dabei mindestens auch in der sqlnet.ora
des Servers wiederfinden, da die vom Server gestatteten Namensauflösungsverfahren den Vorrang bekommen. Ist NAMES.DIRECTORY_PATH
des Clients aber gleich oder eine Untermenge des NAMES.DIRECTORY_PATH
des Servers, sind keine Einschränkungen zu erwarten.
Ab Version 11g ist Easy Connect per default Bestandteil des NAMES.DIRECTORY_PATH
, in Version 10g musste Easy Connect noch explizit in den DIRECTORY_PATH
aufgenommen werden.
CONNECT username@[//]host[:port][/[service_name][:server_type][/instance_name]]
… wobei die einzelnen Komponenten folgende Bedeutung haben:
Eine vollständig beschriebene Verbindung auf einen
sieht demnach folgendermaßen aus:
$ sqlplus system@//oracle-server:1521/orclsec:dedicated/orcl SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jun 28 17:43:06 2024 Version 19.10.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Enter password: Last Successful login time: Fri Jun 28 2024 17:42:41 +02:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.10.0.0.0 SQL>
Das entspricht dem tnsnames-Eintrag:
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle-server)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclsec) (INSTANCE_NAME = orcl) ) )
$ sqlplus system@oracle-server/orclsec
$ sqlplus system@\“oracle-server/orclsec\“
[[protocol:]//]host1{,host12}[:port1]{,host2:port2}[/[service_name][:server][/instance_name]][?parameter_name=value{¶meter_name=value}]
Neu gegenüber dem konventionellen Easy Connect sind:
PROTOCOL
-Teil des ADDRESS
-Parameters entsprichtENABLE
FAILOVER
LOAD_BALANCE
RECV_BUF_SIZE
SEND_BUF_SIZE
SDU
SOURCE_ROUTE
RETRY_COUNT
RETRY_DELAY
CONNECT_TIMEOUT
TRANSPORT_CONNECT_TIMEOUT
SSL_SERVER_DN_MATCH
SSL_SERVER_CERT_DN
WALLET_LOCATION
ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle-srv-1)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = oracle-srv-2)(PORT = 1525)) ) (FAILOVER = TRUE) (LOAD_BALANCE = FALSE) (TRANSPORT_CONNECT_TIMEOUT=1) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclpri) ) )
Der TNS-Name ORCL löst im Beispiel auf einen role-based-Service orclpri auf, der exklusiv auf einem der beiden Server oracle-srv‑1 oder oracle-srv‑2 verfügbar ist und dort gerade die primary-Seite der orcl-Datenbank in einer DataGuard-Infrastruktur repräsentiert.
Dieser Connector ist mit der konventionellen Easy Connect-Syntax nicht darstellbar, mit Easy Connect Plus hingegen sieht es so aus:
sqlplus system@'tcp:oracle-srv-1,oracle-srv-2:1525/orclpri:dedicated?failover=true&load_balance=false&transport_connect_timeout=1'
sqlnet.ora
deiner Systeme erforderlich. Unter Zuhilfenahme des Easy Connect Naming kann man Verbindungen zu Oracle Datenbanken schnell und ohne weitere Konfigurationsschritte aufbauen. Das ist insbesondere für Verbindungstests, Fehlersuche und ad hoc Abfragen interessant. Easy Connect kann für Single Instance, SEHA, RAC und Multitenant Datenbanken gleichermaßen eingesetzt werden. Es kann im RAC auch direkt eine bestimmte RAC Instanz ansprechen. Mit Easy Connect Plus erfährt es ab 19c sogar noch eine deutliche Aufwertung mit der Unterstützung von Failoverkonfigurationen, wie etwa Data Guard und Implementierung ausgewählter Net Service Parameter. Auch Verbindungen auf SSL gesicherte TCPS Endpunkte sind nun möglich.
Im Umkehrschluss macht Easy Connect einmal mehr deutlich, wie wichtig die Einrichtung wirksamer Zugangsbeschränkungen auf Oracle Datenbanken im Unternehmen ist. Auch in vermeintlich durch Windows Domänen und Richtlinien abgesicherten Infrastrukturen reichen offenbar eine IP Verbindung, ein Datenbanklogin und die Kenntnis der Server IP und des Datenbank Servicenamens für einen erfolgreichen Connect zur Datenbank aus.
Hier findest du weitere Features und Infos aus der Welt von » Oracle aus unserem News & Insights Bereich. Wichtige Lizenzierungsinfos rund um Oracle findest du auf unserer » Datenbank-Lizenzen-Seite.
Share this article