Nicht-TLS-Datenbanklinks von einer Autonomous Database-Instanz zu einer anderen Autonomous Database erstellen

Sie können Nicht-TLS-Datenbanklinks von einer Autonomous Database on Dedicated Exadata Infrastructure zu einer Autonomous Database-Zielinstanz erstellen, die sich auf einem privaten Endpunkt befindet.

Verwandte Themen

Voraussetzungen für Nicht-TLS-Datenbanklinks von Autonomous Database zu einem Autonomous Database-Ziel

Listet die Voraussetzungen für das Erstellen von Nicht-TLS-Datenbanklinks zu einem Autonomous Database-Ziel auf, das sich auf einem privaten Endpunkt befindet.

So erstellen Sie einen Datenbanklink zu einem Autonomous Database-Ziel auf einem privaten Endpunkt:

  • Die Zieldatenbank muss über das Oracle Cloud Infrastructure-VCN der Quelldatenbank zugänglich sein. Beispiel: Sie können in folgenden Fällen eine Verbindung zur Zieldatenbank herstellen:

    • Die Zieldatenbank befindet sich auf einem privaten Endpunkt.

    • Die Quell- und die Zieldatenbank befinden sich in demselben Oracle Cloud Infrastructure-VCN.

    • Die Quell- und die Zieldatenbank befinden sich in verschiedenen Oracle Cloud Infrastructure-VCNs, die gepaart sind.

    • Die Zieldatenbank ist mit FastConnect oder VPN mit dem Oracle Cloud Infrastructure-VCN der Quelldatenbank verbunden.

  • Bei einem Ziel auf einem privaten Endpunkt unterstützt DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK die Angabe eines einzelnen Hostnamens mit dem Parameter hostname. Auf einem privaten Endpunkt wird die Verwendung einer IP-Adresse, einer SCAN-IP oder eines SCAN-Hostnamens nicht unterstützt (wenn sich das Ziel auf einem öffentlichen Endpunkt befindet, unterstützt CREATE_DATABASE_LINK die Verwendung einer IP-Adresse, einer SCAN-IP oder eines SCAN-Hostnamens).

  • DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK unterstützt den Wert localhost für den Parameter hostname nicht.

  • Die folgenden Ingress- und Egress-Regeln müssen für den privaten Endpunkt definiert werden:

    • Definieren Sie eine Egress-Regel in der Subnetzsicherheitsliste oder Netzwerksicherheitsgruppe der Quelldatenbank, sodass der Traffic über TCP zur IP-Adresse und Portnummer der Zieldatenbank zulässig ist.

    • Definieren Sie eine Ingress-Regel in der Subnetzsicherheitsliste oder Netzwerksicherheitsgruppe der Zieldatenbank, sodass der Traffic über TCP von der IP-Adresse der Quelldatenbank zum Zielport zulässig ist.

Nicht-TLS-Datenbanklinks zu einer Autonomous Database-Zielinstanz erstellen

Sie können Nicht-TLS-Datenbanklinks von einer Autonomous Database on Dedicated Exadata Infrastructure zu einem Autonomous Database-Ziel erstellen, das sich auf einem privaten Endpunkt befindet.

Führen Sie bei Bedarf die vorbereitenden Schritte aus. Weitere Einzelheiten finden Sie unter Anforderungen für Nicht-TLS-Datenbanklinks von Autonomous Database zu einer Autonomous Database-Zielinstanz.

So erstellen Sie einen Nicht-TLS-Datenbanklink zu einem Autonomous Database-Ziel auf einem privaten Endpunkt:

  1. Erstellen Sie Zugangsdaten für den Zugriff auf die Autonomous Database-Zielinstanz. Die Parameter username und password, die Sie mit DBMS_CLOUD.CREATE_CREDENTIAL angeben, sind die Zugangsdaten für die Zieldatenbank, die im Datenbanklink (wo über das VCN auf die Zieldatenbank zugegriffen wird) verwendet werden.

    Beispiel:

    BEGIN
         DBMS_CLOUD.CREATE_CREDENTIAL(
             credential_name => 'PRIVATE_ENDPOINT_CRED',
             username => 'NICK',
             password => 'password'
             );
    END;
    /

    Der Parameter username darf nur Großbuchstaben enthalten.

    Dieser Vorgang speichert die Zugangsdaten in einem verschlüsselten Format in der Datenbank. Sie können einen beliebigen Namen als Zugangsdatenname verwenden.

  2. Erstellen Sie den Datenbanklink zur Zieldatenbank mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Beispiel:

    BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
             db_link_name => 'PRIVATE_ENDPOINT_LINK', 
             hostname => 'exampleHostname',
             port => '1521',
             service_name => 'example_high.adb.oraclecloud.com',
             credential_name => 'PRIVATE_ENDPOINT_CRED',
             directory_name => NULL,
             private_target => TRUE);
    END;
    /

    Bei einem Ziel auf einem privaten Endpunkt unterstützt DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK die Angabe eines einzelnen Hostnamens mit dem Parameter hostname. Auf einem privaten Endpunkt wird die Verwendung einer IP-Adresse, einer SCAN-IP oder eines SCAN-Hostnamens nicht unterstützt (wenn sich das Ziel auf einem öffentlichen Endpunkt befindet, unterstützt CREATE_DATABASE_LINK die Verwendung einer IP-Adresse, einer SCAN-IP oder eines SCAN-Hostnamens).

    Andere Benutzer als ADMIN benötigen Berechtigungen zum Ausführen von DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Wie im Beispiel dargestellt, ist Folgendes erforderlich, um einen Datenbanklink mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK zu einer Zieldatenbank auf einem privaten Endpunkt ohne Wallet zu erstellen:

    • Der Parameterwert port muss für Nicht-TLS-Verbindungen auf 1521 gesetzt werden. Wenn beim Provisioning des AVMC jedoch eine andere SCAN-Listener-Portnummer ausgewählt wurde, müssen Sie diese Portnummer verwenden. Weitere Informationen finden Sie unter Autonomes Exadata-VM-Cluster erstellen.

      Der Parameter directory_name muss NULL lauten.

    • Der Parameter ssl_server_cert_dn kann entweder ausgelassen werden, oder wenn er enthalten ist, geben Sie einen NULL-Wert an.

    • Der Parameter private_target muss TRUE sein.

      Hinweis:

      Wenn Sie den Parameter private_target auf TRUE setzen, wird der Datenbanklink mit dem TCP-Protokoll anstelle von TCPS erstellt. Dadurch wird das SSL-Zertifikat während der Verbindung nicht validiert.
  3. Verwenden Sie den erstellten Datenbanklink, um auf Daten in der Zieldatenbank zuzugreifen.

    Beispiel:

    SELECT * FROM employees@PRIVATE_ENDPOINT_LINK;
                  

Hinweis:

Wenn sich für die Zugangsdaten, die Sie in Schritt 1 erstellt haben (die Oracle Database-Zugangsdaten), das Kennwort des Zielbenutzers ändert, können Sie die Zugangsdaten mit den Zugangsdaten des Zielbenutzers wie folgt ändern:
BEGIN
     DBMS_CLOUD.UPDATE_CREDENTIAL (
         credential_name => 'DB_LINK_CRED',
         attribute => 'PASSWORD',
         value => 'password');
END;
/

Dabei ist Kennwort das neue Kennwort.

Nach diesem Vorgang funktionieren die vorhandenen Datenbanklinks, die diese Zugangsdaten verwenden, weiterhin, ohne dass Sie die Datenbanklinks löschen und neu erstellen müssen.

Weitere Informationen finden Sie unter Prozedur CREATE_DATABASE_LINK.

Hinweise zu Datenbanklinks mit einem Ziel, das eine Autonomous Database-Instanz ist

Enthält Hinweise zum Erstellen von Datenbanklinks zu einem Ziel, das eine andere Autonomous Database-Instanz ist.

Hinweise zu Datenbanklinks zu einer anderen Autonomous Database:

  • Pro Verzeichnis ist nur eine Wallet-Datei zur Verwendung mit Datenbanklinks gültig. Sie können jeweils nur eine cwallet.sso-Datei in das Verzeichnis hochladen, das Sie für Wallet-Dateien ausgewählt haben (Beispiel: DBLINK_WALLET_DIR). Das bedeutet, dass Sie mit einer cwallet.sso-Datei in DBLINK_WALLET_DIR nur Datenbanklinks zu den Datenbanken erstellen können, für die das Wallet in diesem Verzeichnis gültig ist. Um mehrere cwallet.sso-Dateien mit Datenbanklinks zu verwenden, müssen Sie zusätzliche Verzeichnisse erstellen und jede cwallet.sso-Datei in einem anderen Verzeichnis ablegen. Wenn Sie Datenbanklinks mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK erstellen, geben Sie das Verzeichnis mit dem Wallet mit dem Parameter directory_name an.

    Informationen zum Erstellen von Verzeichnissen finden Sie unter Verzeichnis in Autonomous Database erstellen.

  • Um die Datenbanklinks aufzulisten, verwenden Sie die View ALL_DB_LINKS. Weitere Informationen finden Sie unter ALL_DB_LINKS in Oracle Database 19c Database Reference oder in der Oracle Database 23ai Database Reference.

  • Die Wallet-Datei ermöglicht zusammen mit der Datenbankbenutzer-ID und dem Kennwort Zugriff auf Daten im Autonomous Database-Ziel. Speichern Sie die Wallet-Dateien an einem sicheren Speicherort. Geben Sie Wallet-Dateien nur für autorisierte Benutzer frei.

  • In der Eingabe von DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK muss der Scanname des dedizierten Autonomous Database-Ziels als "hostname"-Parameter angegeben werden.