Oracle Database -Link erstellen

Oracle Database -Link erstellen

In Oracle bezieht sich ein Datenbank -Link auf ein Datenbankobjekt, mit dem ein Benutzer auf eine Remote -Datenbank auf Daten zugreifen kann. Es fungiert im Wesentlichen als „Link“ zwischen zwei Datenbanken, sodass ein Benutzer eine SQL -Abfrage in einer Datenbank ausführen und von einer anderen auf Daten zugreifen kann.

Datenbanklinks sind aus verschiedenen Gründen von wesentlicher Bedeutung. Zum Beispiel können sie verwendet werden, um:

  1. Konsolidieren Sie Daten aus mehreren Datenbanken auf einen einzelnen Server für Berichts- und Analysezwecke.
  2. Ermöglichen Sie Benutzern, die in einer Datenbank auf eine andere Datenbank auf Daten zugreifen können, ohne ihnen direkten Zugriff auf diese Datenbank gewähren zu müssen.
  3. Schließen Sie Daten aus zwei verschiedenen Datenbanken in einer einzelnen SQL -Abfrage an.

In diesem Tutorial werden Sie überprüft.

Oracle -Datenbanklinks

In Oracle gibt es zwei Arten von Datenbanklinks:

  1. Private Datenbanklinks - Ein privater Datenbanklink gehört einem bestimmten Benutzer und kann nur von diesem Benutzer verwendet werden. Dies bedeutet, dass nur der Link -Eigentümer es verwenden kann, um auf Daten in der Remote -Datenbank zugreifen zu können.
  2. Öffentliche Datenbanklinks - Auf der anderen Seite gehört ein öffentlicher Datenbanklink im Besitz des öffentlichen Benutzers und kann von jedem Benutzer in der Datenbank verwendet werden. Jeder Benutzer mit den erforderlichen Berechtigungen kann den Link verwenden, um auf Daten in der Remote -Datenbank zuzugreifen.

Private Datenbanklinks sind sicherer, da sie zu einem bestimmten Benutzer skopiert werden. Öffentliche Datenbanklinks bieten jedoch mehr Zugänglichkeit und Komfort, da sie für jeden Benutzer global sind.

Es ist daher schwierig, festzulegen, welche Datenbank Sie verwenden müssen. Überlegen Sie sorgfältig, was kritischer ist: Sicherheit oder Bequemlichkeit.

Oracle Database Link Anweisung erstellen

Wir verwenden die Oracle -Anweisung Create Database Link zur Erstellung.

Wir können die Anweisungssyntax wie unten gezeigt ausdrücken:

Erstellen Sie [Shared] [Public] Datenbank Link Link_Name
Stellen Sie eine Verbindung zum Benutzernamen her, das durch Passwort identifiziert wurde
Mit 'connect_string';

Die Anweisung enthält spezifische Parameter wie:

  1. Geteilt - Mit der freigegebenen Option können Sie einen freigegebenen Datenbanklink erstellen, auf den mehrere Benutzer zugreifen können.
  2. ÖFFENTLICH - Die öffentliche Option erstellt einen öffentlichen Datenbanklink, auf den jeder Benutzer in der Datenbank zugreifen kann.
  3. VERBUNDEN MIT - Diese Option gibt den Benutzernamen und das Passwort an, um eine Verbindung zur Remote -Datenbank herzustellen.
  4. Verwendung - Schließlich stellt der Verwendungsparameter die Verbindungszeichenfolge so ein, dass eine Verbindung zur Remote -Datenbank hergestellt wird. Sie können unser Tutorial über Oracle Connection -Zeichenfolge überprüfen, um mehr zu finden.

Oracle -Datenbankbeispiel erstellen

Das folgende Beispiel erstellt einen Datenbanklink, um eine Verbindung zu einem Remote -Oracle -Server mit der Adresse 192 herzustellen.168.100.23 auf Port 1521. Der Remote -Server verfügt über einen Dienstnamen von ORLR.

Wir werden zunächst einen Eintrag in die TNSnames hinzufügen.ORA -Datei.

Wenn Sie damit nicht vertraut sind, sind die TNSnames.ORA -Datei speichert Informationen zur Netzwerkkonfiguration für eine Oracle -Datenbank. Es enthält in der Regel Einträge für jede Datenbank, mit der der Oracle -Client herstellen muss, zusammen mit den erforderlichen Verbindungszeichenfolgen und anderen Details. Der Oracle -Client verwendet diese Informationen, um eine Verbindung zu den Datenbanken herzustellen.

Diese Datei befindet sich in der Regel im Verzeichnis $ Oracle_Home/Netzwerk/Administrator. Angenommen, Sie sind sich nicht sicher, wo die TNSnamen.Die ORA -Datei befindet sich in Ihrem System. Sie können versuchen, den folgenden Befehl auszuführen, um ihn zu finden:

Finden Sie / -name tnsnames.oder ein

Sie können die Datei auch manuell erstellen, wenn sie nicht vorhanden ist.

Fügen Sie den Eintrag zum Zielserver hinzu, wie unten gezeigt:

Orlr =
(Beschreibung =
(Adresse = (Protokoll = TCP) (Host = 192.168.100.23) (Port = 1521))
(Connect_data =
(Server = dediziert)
(Service_name = orlr)
)
)

Der Eintrag definiert eine Datenbankverbindung namens ORLR, die das TCP -Protokoll verwendet, um eine Verbindung zur Datenbank auf dem Host mit der IP -Adresse 192 herzustellen.168.100.23 auf Port 1521.

Der Abschnitt Connect_data des Eintrags gibt an, dass die Verbindung einen dedizierten Server verwendet und dass der Dienstname für die Datenbank ORLR ist. Der Oracle -Client verwendet diese Informationen, um mit diesem Eintrag eine Verbindung zur Datenbank herzustellen.

Wir können dann eine Datenbank mit einem Datenbank -Link über den vorherigen Eintrag erstellen, wie unten gezeigt:

Datenbanklink erstellen orlr_link
Stellen Sie eine Verbindung zum Benutzernamen her, das durch Passwort identifiziert wurde
Verwendung '
(Beschreibung =
(Adresse = (Protokoll = TCP) (Host = 192.168.100.23) (Port = 1521))
(Connect_data =
(Server = dediziert)
(Service_name = orlr)
)
)
';

Sie können die Eintragsdefinition überspringen, wenn Sie sie zu den Tnanames hinzugefügt haben.ORA -Datei.

Sobald wir den Link erstellt haben, können wir ihn verwenden, um auf Daten in der ORLR -Datenbank zuzugreifen, wie unten gezeigt:

Wählen Sie * aus test_table@orlr_link;

Abschluss

In diesem Beitrag haben Sie die Grundlagen der Arbeit mit Datenbanklinks in Oracle entdeckt. Bevor Sie Datenbanklinks verwenden, ist es gut, die negativen Auswirkungen zu berücksichtigen, die möglicherweise mit sich kommen.

Solche potenziellen Strafen umfassen:

  1. Leistung - Die Verwendung eines Datenbankverbaus kann möglicherweise die Leistung einer SQL -Abfrage beeinflussen. Dies liegt daran. Dies kann besonders problematisch für große Fragen oder häufige Abfragen sein.
  2. Sicherheit - Die zweite potenzielle Auswirkung von Datenbankverbindungen ist die Sicherheit. Wenn Sie einen Datenbanklink verwenden, können Sie möglicherweise Sicherheitsrisiken einführen, da Benutzer von einer Datenbank von einer anderen auf Daten zugreifen können. Es ist daher für die Sicherheit der Remote -Datenbank von entscheidender Bedeutung.
  3. Abhängigkeit - Wenn Sie einen Datenbanklink verwenden, können Sie eine Abhängigkeit von der Remote -Datenbank erstellen, sodass es schwieriger ist.

Im Allgemeinen können Datenbankverbindungen in bestimmten Situationen ein wertvolles Instrument sein, aber es ist wichtig, die potenziellen negativen Auswirkungen zu berücksichtigen, bevor sie in Ihrem Cluster implementiert werden.