Wie in der Oracle-Datenbankinstanz 12c zu verbinden

Eine Oracle 12c Datenbankinstanz ist nicht viel Gutes, wenn Sie es nicht anschließen können. Die Schaffung eines zuverlässigen, persistent, und sichere Verbindung zur Datenbank vom Client ist von wesentlicher Bedeutung.

Oracle Net wird unterstützt von

  • Datenbankadministrator (DBA) --managed Zuhörer Prozesse

  • Client- und serverseitigen Konfigurationsdateien

  • Befehlszeilenprogramme

  • Optional GUI-Verwaltungstools

Verbindungen können über mehrere leichtere Nicht-Oracle-Protokolle wie ODBC oder JDBC in der Datenbank kommen.

Lokale im Vergleich zu Remote-Verbindungen mit Oracle 12c

Verbindungen in die Datenbank kann eine von zwei Arten sein:

  • Local (vererben): Eine lokale Verbindung stammt aus dem gleichen Server die Datenbank auf und nicht die Datenbank Listener-Prozess verwenden.

  • Fernbedienung: Alle anderen Verbindungen von außerhalb des Datenbankservers oder die vom Server den Hörer verwenden, sind Remote-Verbindungen. Der einfache Weg, um zu bestimmen, ob ein Benutzer remote verbindet, ist, wenn Sie @TNS_ALIAS im Connect-Bildschirm haben.

Kommunikationsfluss mit Oracle 12c

Verbindungen zu einer Oracle-Datenbank kommen typischerweise gegenüber von einem Client von dem database- über ein Netzwerk auf die Datenbank infrastruktur server- durch eine Datenbank-Listener Verarbeitung entfernt liegt, und schließlich in die Datenbank selbst.

Auf der Client-Seite, ruft das Programm die Datenbank Referenzen tnsnames.ora die Datenbank-Server-Host und Protokoll zu finden, um die Anforderung zu senden. Der Antrag verlässt dann den Client und geht auf die Netzauslastung OracleNet. Der Standardport für Oracle Net-Kommunikation ist 1521. Über diesen Oracle Net-Protokoll ist in dem Datenbank-Kommunikationsverkehr zwischen dem Client und Datenbank-Server fließt.

Nach einer Kommunikationsanforderung die Datenbank-Server-Host erreicht Client, ist es für den Hörer weitergereicht. Die Datenbank-Listener ist eine separate Oracle-Software-Prozess auf dem Datenbankserver, für eingehende Anfragen auf dem definierten OracleNet-Port (1521) hört. Wenn es eine Anfrage erhält, identifiziert die Zuhörer, welche Datenbankinstanz für diese Anforderung ausgerichtet ist und stellt eine Verbindung zu dieser Datenbankinstanz.

Auf der Serverseite verwendet der Hörer die Datei listener.ora diese Bestimmung zu machen. Wenn die Verbindung hergestellt ist, und die Sitzung beginnt, werden die Schritte der Hörer das Bild aus und ermöglicht die Kommunikation zwischen der Datenbank und Client. Jeder Client-Sitzung verfügt über einen dedizierten Server-Prozess auf der Server-Seite. Innerhalb dieses dedizierten Server-Prozess, den Sitzungscode des Benutzers ausgeführt wird. Dies stellt den Kommunikationsfluss.

bild0.jpg

Der Client enthält die Client-Anwendung und Datei tnsnames.ora. Es kommuniziert mit dem Datenbankserver über Oracle Net auf Port 1521 auf dem Datenbank-Server, ein Listener-Prozess durch die listener.ora Datei konfiguriert ist. Die Zuhörer leitet die eingehenden Anforderungen auf den Zieldatenbankinstanz (entweder dev11g oder DB01) und stellt die erste Verbindung Handshake zwischen der Datenbankinstanz und Client.

Wie Einrichten von tnsnames.ora mit Oracle 12c

Sie müssen die Adresse oder den Ort der Datenbank zur Verfügung stellen Sie eine Verbindung herstellen versuchen. Diese Informationen werden oft in der tnsnames.ora Textdatei gespeichert, die auf dem Client besteht aus Sie eine Verbindung herstellen.

Hinweis: Dies ist "Client" kann der Workstation eines Benutzers, eine Web-Application-Server, oder sogar eine andere Datenbank-Server.

Hier ist ein Beispiel tnsnames.ora-Datei, die in oracle / network / admin gefunden werden kann:

dev12c = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = orasvr01) (PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = dev12c)) DB01 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = orasvr02) (PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = DB01))

Diese besondere tnsnames.ora enthält 2 TNS (Transport Network Substrate) Aliase, eine für dev12c und eine für DB01. Wenn Sie auf eine Datenbankinstanz verbinden, geben Sie tatsächlich die TNS-Alias ​​(nicht Datenbankname). Die TNS-Alias ​​kann einen beliebigen Namen (wie dev12c oder etwas allgemeineren wie Entwickler oder trainingdb). Diese Flexibilität bedeutet, dass Sie einen generischen Alias ​​haben kann und nicht den Namen der Datenbank codieren.

Unter HOST geben Sie entweder den DNS-Host-Namen oder die IP-Adresse des Servers, der Datenbankinstanz enthält. Auch hier versuchen hartcodierten Werte Adresse wie IP zu vermeiden und DNS-Namen benutzen, wenn möglich.

Port ist der Port der Server-Seite Listener-Prozess auf zuhört. Es ist auch der Anschluss, den Sie über das Netzwerk eine Verbindung zu für Ihre OracleNet Verkehr (also die Firewalls müssen auf diesem Port offen sein).

SERVICE_NAME ist der Servicename der Datenbankinstanz, zu dem Sie verbinden sind versucht. Sie können auch SID verwenden, obwohl Oracle die Verwendung von SERVICE_NAME stattdessen fördert.

Die Datei tnsnames.ora ist textbasiert, und Sie können es von Hand bearbeiten. Nach Änderungen vorgenommen haben, ist es nicht notwendig, die Datenbank oder Listener-Prozess neu zu starten.

Wie die Verbindung mit Oracle 12c zu testen

Der beste Weg, um eine Verbindung zu testen ist, über die Anwendung, aber das ist nicht immer möglich. Vorzugsweise sind Sie auf der Clientebene und gehen tatsächlich durch die gleiche Netzwerkpfad wie die Client-Anwendungen

Um einen Verbindungstest durchführen, gehen Sie folgendermaßen vor, um festzustellen, ob Sie die Datenbankinstanz verbinden:

  1. Gehen Sie auf die Client-Schicht.

  2. Schauen Sie, ob Oracle-Client-Software wie SQL * Plus und tnsnames.ora installiert ist.

  3. Führen Sie eine sqlplus Benutzername@tns_alias, wie sqlplus mwhalen @ dev12c.

  4. Geben Sie das Kennwort in die Datenbank zu verbinden.

Mit dem tnsping Dienstprogramm ist eine noch schnellere Methode, die kein Kennwort erforderlich ist. Dieses Dienstprogramm stellt eine Verbindung über das Netzwerk über den Hörer und legt einen Händedruck. Sie endet dann die Verbindung und berichtet über die Ergebnisse, die Sie hier sehen:

$ Tnsping dev12cTNS Ping Utility für Linux: Version 12.1.0.1.0 - Produktion auf 19-MAY-2013 12: 20: 07Copyright (c) 1997, 2013, Oracle. Alle Rechte reserved.Used Parameterdateien: /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.oraUsed TNSNAMES Adapter den aliasAttempting zu kontaktieren (BESCHREIBUNG = (ADDRESS = (PROTOCOL = TCP) zu lösen ( HOST = 
localhost) (PORT = 1521)) (CONNECT_DATA = (SERVER = dedicated) (SERVICE_NAME = dev12c))) OK (20 ms)

Testen der Verbindungen ist eine gute Prüfungsschritt für den DBA. Wenn Probleme auftreten, lässt es Sie sie fangen zuerst stattdessen auf Benutzer zu verlassen, um sie später zu berichten.

Menü