it-swarm.com.de

Erstellen Sie eine Datenbankverbindung in Oracle Database mit 2 Datenbanken auf verschiedenen Computern.

Ich habe 2 Oracle-Datenbanken (db1 und db2) auf verschiedenen Computern. Nehmen wir an: db1 auf 192.168.1.1 und db2 auf 192.168.1.2

Was ich erreichen möchte, ist, einen Link auf db1 zu erstellen, der es mir ermöglicht, Abfragen auf db2 durchzuführen.

So habe ich den Link auf db1 erstellt:

create public database link db2Link connect to db2username identified by db2password
using 'db2';

Ich denke, dies sollte funktionieren, wenn sich beide Basen auf demselben Computer befinden. Wie kann ich diese Verbindung herstellen, da ich eine Verbindung zu einer Datenbank herstellen möchte, die sich auf einem anderen Computer befindet?

Danke und beste Grüße

Sie können die Verbindungszeichenfolge über tnsnames.ora definieren und dann auf den Alias ​​verweisen

remotedb =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(Host = remotedb.fqdn.com)(PORT = 1521))
    (CONNECT_DATA = (SERVICE_NAME = ORCL))
  )

Erstellen Sie dann einen Dblink, der auf diesen Alias ​​verweist:

CREATE DATABASE LINK remotedb
    CONNECT TO SYSTEM IDENTIFIED BY <password>
    USING 'remotedb';

Oder ermöglichen Sie das gleiche inline mit:

CREATE DATABASE LINK remotedb
CONNECT TO SYSTEM IDENTIFIED BY <password>
USING'(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(Host = remotedb.fqdn.com)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL)))';

Weitere Informationen zur Syntax finden Sie unter http://docs.Oracle.com/cd/B28359_01/server.111/b28286/statements_5005.htm

Wenn Sie die DNS-Auflösung vermeiden möchten, ersetzen Sie stattdessen einfach remotedb.fqdn.com durch die IP-Adresse. Natürlich sollten Sie überprüfen, ob die Quelle TCP Verbindungen zum Remote-Port 1521] initiieren kann:

nc -zv remotedb.fqdn.com 1521
4
sqlreader