it-swarm.com.de

Remote-Verbindung mit der Oracle 11g-Datenbank

Ich habe Oracle 11g XE auf Computer A installiert. Ich kann über die SQL-Befehlszeile mit dem Befehl connect username/password eine Verbindung herstellen. Ich kann auch SQL-Anweisungen an die Demo-Datenbank senden: Select * from demo_customers;

Die Datenbank läuft auf dem localhost von Computer A.

Ich möchte, dass sich Computer B mit der Datenbank von Computer A auf localhost verbindet. Wie kann ich das machen?

14
gamosa

Sie müssen das Dienstprogramm lsnrctl auf Server A ausführen, um den Listener zu starten. Sie würden dann eine Verbindung von Computer B mit der folgenden Syntax herstellen:

sqlplus username/[email protected]:1521 /XE

Die Portinformationen sind optional, wenn der Standardwert 1521 verwendet wird. 

Listener Konfigurationsdokumentation hier.Dokumentation der Remote-Verbindung hier.

12
DCookie

Ich installiere den Oracle-Server, und es ist problemlos möglich, vom lokalen Computer aus eine Verbindung herzustellen. Aber von einem anderen Maclaptop in meinem Heimnetzwerk kann keine Verbindung mit Sql Developer oder Sql Plus hergestellt werden. Nach einigen Recherchen habe ich herausgefunden, dass es diesen zusätzlichen Schritt gibt, den Sie machen müssen:

Verwenden Sie den Oracle-Net-Manager. Wählen Sie den Listener aus. Fügen Sie die IP-Adresse (in meinem Fall 192.168.1.12) neben 127.0.0.1 oder localhost hinzu. 

Am Ende fügen Sie dem [OracleHome]\product\11.2.0\dbhome_1\network\admin\listener.ora einen Eintrag hinzu

  • starten Sie den Listener-Dienst neu. (Hinweis: Für mich starte ich den Rechner einmal neu, damit er funktioniert) 

  • Verwenden Sie zur Überprüfung lsnrctl status
    Beachten Sie, dass der zusätzliche Host = 192.168.1.12 angezeigt wird. Dies ist, was eine Remote-Verbindung herstellen soll. 

    C:\Windows\System32> lsnrctl status
    LSNRCTL für 64-Bit-Windows: Version 11.2.0.1.0 - Produktion am 05-SEP-2015 13:51:43
    Copyright (c) 1991, 2010, Oracle. Alle Rechte vorbehalten.
    Verbinden mit (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC1521)))
    STATUS des LISTENER 


    Alias ​​LISTENER
    Version TNSLSNR für 64-Bit-Windows: Version 11.2.0.1.0 - Produktion
    Anfangsdatum 05-SEP-2015 13:45:18
    Betriebszeit 0 Tage 0 Std. 6 min. 24 sek
    Trace Level aus
    Security ON: Lokale Betriebssystem-Authentifizierung
    SNMP AUS
    Listener-Parameterdatei
    D:\Oracle11gr2\product\11.2.0\dbhome_1\network\admin\listener.ora
    Listener-Protokolldatei d:\Oracle11gr2\diag\tnslsnr\eagleii\listener\alert\log.xml
    Listening Endpoints Summary ...
    (DESCRIPTION = (ADRESSE = (PROTOKOLL = IPC) (PIPENAME = \.\Pipe\EXTPROC1521ipc)))
    (DESCRIPTION = (ADDRESS = (PROTOCOL = tcp) (Host = 127.0.0.1) (PORT = 1521)))
    (DESCRIPTION = (ADRESSE = (PROTOCOL = tcp) (Host = 192.168.1.12) (PORT = 1521)))
    Leistungsübersicht ...
    Dienst "CLRExtProc" hat 1 Instanz (en).
    Instanz "CLRExtProc", Status UNKNOWN, hat 1 Handler für diesen Dienst ...
    Dienst "xe" hat 1 Instanz (en).
    Instanz "xe", Status BEREIT, hat 1 Handler für diesen Dienst ... Dienst "xeXDB" hat 1 Instanz (en).
    Instanz "xe", Status BEREIT, hat 1 Handler für diesen Dienst ... Der Befehl wurde erfolgreich ausgeführt 

  • verwenden Sie tnsping , um die Verbindung zu testen
    Pingen Sie die IPv4-Adresse, nicht den localhost oder den 127.0.0.1

C:\Windows\System32> tnsping 192.168.1.12
TNS Ping Utility für 64-Bit-Windows: Version 11.2.0.1.0 - Produktion am 05-SEP-2015 14:09:11
Copyright (c) 1997, 2010, Oracle. Alle Rechte vorbehalten.
Verwendete Parameterdateien:
D:\Oracle11gr2\product\11.2.0\dbhome_1\network\admin\sqlnet.ora 

Verwendet den EZCONNECT-Adapter, um den Alias ​​aufzulösen
Versuch, Kontakt aufzunehmen (DESCRIPTION = (CONNECT_DATA = (SERVICE_NAME =))) (ADDRESS = (PROTOCOL = TCP) (Host = 192.168.1.12) (PORT = 1521))
OK (0 ms) 

4
Tony

Es ist ziemlich einfach für den Computer und Sie müssen nichts tun. Vergewissern Sie sich, dass sich beide Systeme im selben Netzwerk befinden, wenn es keinen Internetzugang gibt (dazu benötigen Sie eine statische IP-Adresse). Okay, jetzt auf dem Computer b, um zum Startmenü zu gelangen, um die Konfiguration unter dem Oracle-Ordner zu finden. Klicken Sie unter diesem Ordner auf "Net Configuration Assistant". Wenn das Popup-Fenster angezeigt wird, klicken Sie auf "Lokale Netzkonfigurationsoption".

Klicken Sie nun auf Hinzufügen und klicken Sie auf Weiter. Im nächsten Bildschirm werden Sie nach dem Dienstnamen gefragt. Hier müssen Sie den globalen Oracle-Datenbanknamen von Computer A hinzufügen (normalerweise verwende ich Oracle86 für meine Installation). Klicken Sie auf Weiter. Nächster Bildschirm. Wählen Sie das Protokoll Geben Sie den Namen von Computer A ein, den Sie in den Computereigenschaften finden können. Klicken Sie auf "Weiter". Ändern Sie den Port nicht, bis Sie das in "Computer A" geändert haben. Klicken Sie auf "Weiter". Klicken Sie auf "Weiter" und wählen Sie "Testverbindung". Hier können Sie Ihre Verbindung überprüfen Passwort. Wenn es nicht möglich ist, den Computer oder das Ziel nicht zu erreichen, müssen Sie eine Ausnahme in der Firewall für den Port 1521 hinzufügen oder die Firewall auf Computer A deaktivieren.

4
Manjit Singh

Stellen Sie zunächst sicher, dass der listener auf dem Datenbankserver (Computer A) ausgeführt wird, der Client-Verbindungsanfragen empfängt. Führen Sie dazu den Befehl lsnrctl status aus.

Falls Sie eine TNS:no listener-Nachricht erhalten (siehe Abbildung unten), bedeutet dies, dass der Listener-Dienst nicht ausgeführt wird. Führen Sie zum Starten den Befehl lsnrctl start aus.

 enter image description here

Zweitens müssen für Datenbankvorgänge und Verbindungen von Remoteclients die folgenden ausführbaren Dateien zur Ausnahmeliste der Windows-Firewall hinzugefügt werden (siehe Abbildung).

Oracle_home\bin\Oracle.exe - ausführbare Oracle-Datenbankdatei

Oracle_home\bin\tnslsnr.exe - Oracle Listener

 enter image description here

Installieren Sie schließlich Oracle Instant Client auf dem Client-Computer (Computer B) und führen Sie Folgendes aus:

sqlplus user/[email protected]:port/XE

3
Rajkaran Mishra
# . /u01/app/Oracle/product/11.2.0/xe/bin/Oracle_env.sh  

#  sqlplus /nolog  

SQL> connect sys/password as sysdba                                           

SQL>  EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);  

SQL> CONNECT sys/[email protected]:1521 as sysdba
0
lakshmikandan

Zuerst. Es ist notwendig, eine statische IP-Adresse für Computer A UND B hinzuzufügen Zum Beispiel in meinem Fall Computer A (172.20.14.13) und B (172.20.14.78). 

Zweite. In Computer A mit Net Manager fügen Sie für Listener eine neue Adresse hinzu (172.20.14.13) oder fügen Sie einen neuen Datensatz manuell in listener.ora hinzu 

# listener.ora Network Configuration File: E:\app\user\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (Oracle_HOME = E:\app\user\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\app\user\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(Host = 172.20.14.13)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = E:\app\user

Dritte. Erstellen Sie mit Net Manager die Dienstbenennung mit dem IP-Adresscomputer B (172.20.14.78) oder fügen Sie manuell einen neuen Datensatz in "tnsnames.ora" hinzu

# tnsnames.ora Network Configuration File: E:\app\user\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

ALINADB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = alinadb)
    )
  )

LISTENER_ALINADB =
  (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))


LOCAL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(Host = 172.20.14.13)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = alinadb)
    )
  )

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(Host = 172.20.14.78)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

Viertens. Auf Computer B (172.20.14.78) installiere win64_11gR2_client (z. B. für mich in Windows 10 Pro 64-Bit)

Fünf. Erstellen Sie mit dem Net Configuration Assistant-Listener (localhost) oder fügen Sie den Datensatz manuell in listener.ora hinzu 

# listener.ora Network Configuration File: F:\app\alinasoft\product\11.2.0\client_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(Host = myserver)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )

    ADR_BASE_LISTENER = F:\app\alinasoft

Sechs. Erstellen Sie mit Net Manager den Dienstnamen mit dem IP-Adressencomputer A (172.20.14.13) oder manuell neuen Datensatz in tnsnames.ora hinzufügen.

SERVER-DB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(Host = 172.20.14.13)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = alinadb)
    )
  )

Seven (Computer A - (172.20.14.13)) Für Datenbankvorgänge und Verbindungen von Remote-Clients müssen die folgenden ausführbaren Dateien der Ausnahmeliste der Windows-Firewall hinzugefügt werden: (siehe Abbildung) Oracle_home\bin\Oracle.exe - Oracle Database - ausführbare Datei Oracle_home\bin\tnslsnr.exe - Oracle Listener

Eight Verbindungen für Port 1158 (Computer A - (172.20.14.13)) für Oracle Enterprise Manager zulassen ( https://172.20.14.13:1158/em/console/logon/logon )

Neunte Verbindungen für Port 1521 (ein- und ausgehend) zulassen (Computer A - (172.20.14.17)) 

Zehntes In Computer B 172.20.14.78 Sqlplus/NOLOG CONNECT-System/Oracle @ // 172.20.14.13:1521/alinadb

Wenn Toad verwendet wird, ist in meinem Fall  enter image description here

0
Vitalie Bancu