Datenbanklinks aus einer autonomen KI-Datenbank zu einer Oracle AI Database auf einem privaten Endpunkt erstellen

Sie können Datenbanklinks aus einer autonomen KI-Datenbank zu einer Oracle AI Database-Zieldatenbank erstellen, die sich auf einem privaten Endpunkt befindet.

Je nach Typ und Konfiguration der Oracle AI Database-Zielinstanz:

Weitere Informationen finden Sie unter Datenbanklink von Ihrer autonomen KI-Datenbank zu einer Database Cloud Service-Instanz erstellen.

Voraussetzungen

Listet die Voraussetzungen für das Erstellen von Datenbanklinks aus einer autonomen KI-Datenbank zu einer Oracle AI Database-Zieldatenbank auf, die sich auf einem privaten Endpunkt befindet.

So erstellen Sie einen Datenbanklink zu einer Oracle AI Database-Zielinstanz auf einem privaten Endpunkt:

  • Der Zugriff auf die Zieldatenbank muss über das Oracle Cloud Infrastructure-VCN der Quelldatenbank möglich sein. Beispiel: Sie können sich bei der Zieldatenbank anmelden, wenn:

    • Die Zieldatenbank befindet sich auf einem privaten Endpunkt.

    • Sowohl die Quelldatenbank als auch die Zieldatenbank befinden sich in demselben Oracle Cloud Infrastructure-VCN.

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

    • Die Zieldatenbank ist eine On-Premise-Datenbank, die mit FastConnect oder VPN mit dem Oracle Cloud Infrastructure-VCN der Quelldatenbank verbunden ist.

  • Es gibt zwei Optionen zur Angabe der Zieldatenbank. Verwenden Sie den Parameter hostname oder den Parameter rac_hostnames:

    • 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).

    • Wenn das Ziel eine Oracle RAC-Datenbank ist, geben Sie mit dem Parameter rac_hostnames mindestens einen Hostnamen mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK an. Auf diese Weise können Sie die High Availability-Funktionen von Oracle RAC nutzen. Die Verwendung einer IP-Adresse, einer SCAN-IP oder eines SCAN-Hostnamens im Wert rac_hostnames wird nicht unterstützt.

      Wenn Sie im Parameter rac_hostnames eine Liste mit Hostnamen angeben, verwendet CREATE_DATABASE_LINK alle angegebenen Hostnamen als Adressen in der Verbindungszeichenfolge. Wenn einer der angegebenen Hosts in der Oracle RAC-Zieldatenbank nicht verfügbar ist, versucht Autonomous AI Database automatisch, eine Verbindung mit einem anderen Hostnamen aus der Liste herzustellen.

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

    • Definieren Sie eine Egress-Regel in der Subnetzsicherheitsliste der Quelldatenbank oder in der Netzwerksicherheitsgruppe, sodass der Traffic über TCP an die 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.

    Informationen zum Konfigurieren privater Endpunkte mit Ingress- und Egress-Regeln finden Sie unter Netzwerkzugriff mit privaten Endpunkten konfigurieren.

Hinweis

Hinweis: Wenn Ihre autonome AI-Datenbankinstanz mit einem privaten Endpunkt konfiguriert ist, legen Sie die Datenbankeigenschaft ROUTE_OUTBOUND_CONNECTIONS fest, um anzugeben, dass alle ausgehenden Datenbanklinks den Egress-Regeln des privaten Endpunkt-VCN der autonomen AI-Datenbankinstanz unterliegen. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten.

Datenbanklinks zu Oracle AI-Datenbanken auf einem privaten Endpunkt ohne Wallet erstellen

Mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK können Sie Datenbanklinks aus einer autonomen KI-Datenbank zu einer Oracle AI Database-Zieldatenbank erstellen, die sich auf einem privaten Endpunkt befindet, und eine Verbindung ohne Wallet (TCP) herstellen.

Hinweis

Hinweis: Diese Option gilt für Oracle AI-Zieldatenbanken, die sich auf einem privaten Endpunkt befinden und kein SSL/TCPS konfiguriert ist.

Führen Sie die erforderlichen Schritte aus. Weitere Informationen finden Sie unter Voraussetzungen für Datenbanklinks von einer autonomen KI-Datenbank zu Oracle AI-Datenbanken auf einem privaten Endpunkt.

So erstellen Sie einen Datenbanklink zu einer Zieldatenbank auf einem privaten Endpunkt mit einer sicheren TCP-Verbindung ohne Wallet:

  1. Erstellen Sie in der autonomen KI-Datenbank Zugangsdaten für den Zugriff auf die Zieldatenbank. Die username und password, die Sie mit DBMS_CLOUD.CREATE_CREDENTIAL angeben, sind die Zugangsdaten für die Zieldatenbank, die innerhalb des Datenbanklinks verwendet wird (wo auf die Zieldatenbank über das VCN zugegriffen wird).

    Zum Beispiel:

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

    Die Zeichen im Parameter username müssen Großbuchstaben enthalten.

    Hinweis

    Hinweis: Sie können in einem Datenbanklink Vault-Secret-Zugangsdaten für die Zieldatenbankzugangsdaten verwenden. Weitere Informationen finden Sie unter Vault-Secret-Zugangsdaten verwenden.

    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.

    Zum Beispiel:

    BEGIN
      DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
        db_link_name => 'PRIVATE_ENDPOINT_LINK',
        hostname => 'exampleHostname',
        port => '1522',
        service_name => '*exampleServiceName*',
        ssl_server_cert_dn => NULL,
        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).

    Wenn das Ziel eine Oracle RAC-Datenbank ist, geben Sie mit dem Parameter rac_hostnames mindestens einen Hostnamen mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK an. Auf diese Weise können Sie die High Availability-Funktionen von Oracle RAC nutzen. Die Verwendung einer IP-Adresse, einer SCAN-IP oder eines SCAN-Hostnamens im Wert rac_hostnames wird nicht unterstützt.

    Beispiel: Verwenden Sie bei einer Oracle RAC-Zieldatenbank den Parameter rac_hostnames:

    BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
             db_link_name => 'PRIVATE_ENDPOINT_LINK',
             rac_hostnames => '["sales1-svr1.example.adb.us-ashburn-1.oraclecloud.com",
                                "sales1-svr2.example.adb.us-ashburn-1.oraclecloud.com",
                                "sales1-svr3.example.adb.us-ashburn-1.oraclecloud.com"]',
             port => '1522',
             service_name => '*exampleServiceName*',
             ssl_server_cert_dn => NULL,
             credential_name => 'PRIVATE_ENDPOINT_CRED',
             directory_name => NULL,
             private_target => TRUE);
    END;
    /

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK unterstützt den Wert localhost für hostname oder im Parameter rac_hostnames nicht.

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

    Wie im Beispiel dargestellt, sind alle folgenden Schritte erforderlich, um einen Datenbanklink mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK zu einer Zieldatenbank auf einem privaten Endpunkt mit einer sicheren TCP-Verbindung ohne Wallet zu erstellen:

    • Der Parameter directory_name muss NULL sein.

    • Der Parameter ssl_server_cert_dn muss NULL sein.

    • Der Parameter private_target muss TRUE sein.

      Hinweis

      Hinweis: Wenn Sie die Datenbankeigenschaft ROUTE_OUTBOUND_CONNECTIONS festlegen, ist das Festlegen des Parameters private_target auf TRUE in dieser API nicht erforderlich. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten.

  3. Verwenden Sie den von Ihnen erstellten Datenbanklink, um auf Daten in der Zieldatenbank zuzugreifen.

    Zum Beispiel:

    SELECT * FROM employees@PRIVATE_ENDPOINT_LINK;
    Hinweis

    Hinweis: Bei den Zugangsdaten, die Sie in Schritt 1 erstellen, können Sie die Oracle AI Database-Zugangsdaten wie folgt aktualisieren, wenn sich das Kennwort des Zielbenutzers ändert:

    BEGIN
      DBMS_CLOUD.UPDATE_CREDENTIAL (
       credential_name => 'DB_LINK_CRED',
       attribute => 'PASSWORD',
       value => 'password'
      );
    END;
    /

    wobei password das neue Passwort ist.

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

Weitere Informationen finden Sie unter Prozedur CREATE_DATABASE_LINK.

Datenbanklinks von einer autonomen KI-Datenbank zu Oracle AI-Datenbanken auf einem privaten Endpunkt mit einem Wallet (mTLS) erstellen

Sie können Datenbanklinks aus einer autonomen KI-Datenbank zu einer Oracle AI Database-Zieldatenbank erstellen, die sich auf einem privaten Endpunkt befindet.

Hinweis

Hinweis: Diese Option gilt für Oracle AI-Zieldatenbanken, für die SSL/TCPS konfiguriert ist und die sich auf einem privaten Endpunkt befinden.

Wenn für das Oracle AI Database-Ziel kein SSL/TCPS konfiguriert ist, haben Sie zwei Optionen:

Führen Sie die erforderlichen Schritte aus. Weitere Informationen finden Sie unter Voraussetzungen für Datenbanklinks von einer autonomen KI-Datenbank zu Oracle AI-Datenbanken auf einem privaten Endpunkt.

So erstellen Sie einen Datenbanklink zu einer Oracle AI Database-Zielinstanz auf einem privaten Endpunkt mit TCP/IP mit SSL-(TCPS-)Authentifizierung:

  1. Kopieren Sie das Zieldatenbank-Wallet cwallet.sso, das die Zertifikate für die Zieldatenbank enthält, in den Objektspeicher.

    Hinweis

    Hinweis: Die Wallet-Datei sowie die Datenbankbenutzer-ID und das Datenbankkennwort ermöglichen den Zugriff auf Daten in der Oracle AI Database-Zielinstanz. Speichern Sie die Wallet-Dateien an einem sicheren Speicherort. Geben Sie Wallet-Dateien nur für autorisierte Benutzer frei.

  2. Erstellen Sie Zugangsdaten für den Zugriff auf den Objektspeicher, in dem Sie die cwallet.sso speichern. Informationen zu den Benutzernamen- und Kennwortparametern für verschiedene Object Storage-Services finden Sie unter CREATE_CREDENTIAL-Prozedur.

  3. Erstellen Sie ein Verzeichnis in der autonomen KI-Datenbank für die Wallet-Datei cwallet.sso.

    Zum Beispiel:

     CREATE DIRECTORY WALLET_DIR AS 'directory_path_of_your_choice';

    Informationen zum Erstellen von Verzeichnissen finden Sie unter Verzeichnis in autonomer KI-Datenbank erstellen.

  4. Mit DBMS_CLOUD.GET_OBJECT können Sie das Zieldatenbank-Wallet in das Verzeichnis hochladen, das Sie im vorherigen Schritt WALLET_DIR erstellt haben.

    Zum Beispiel:

    BEGIN
      DBMS_CLOUD.GET_OBJECT(
        credential_name => 'DEF_CRED_NAME',
        object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/cwallet.sso',
        directory_name => 'WALLET_DIR');
    END;
    /

    In diesem Beispiel ist namespace-string der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.

    Hinweis

    Hinweis: Die in diesem Schritt verwendete credential_name ist die Zugangsdaten für den Objektspeicher. Im nächsten Schritt erstellen Sie die Zugangsdaten für den Zugriff auf die Zieldatenbank.

  5. Erstellen Sie in der autonomen KI-Datenbank Zugangsdaten für den Zugriff auf die Zieldatenbank. Die username und password, die Sie mit DBMS_CLOUD.CREATE_CREDENTIAL angeben, sind die Zugangsdaten für die Zieldatenbank, die innerhalb des Datenbanklinks verwendet wird (wo auf die Zieldatenbank über das VCN zugegriffen wird).

    Hinweis

    Hinweis: Die Angabe des Parameters credential_name ist erforderlich.

    Zum Beispiel:

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

    Die Zeichen im Parameter username müssen Großbuchstaben enthalten.

    Hinweis

    Hinweis: Sie können in einem Datenbanklink Vault-Secret-Zugangsdaten für die Zieldatenbankzugangsdaten verwenden. Weitere Informationen finden Sie unter Vault-Secret-Zugangsdaten verwenden.

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

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

    Zum Beispiel:

    BEGIN
      DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
        db_link_name => 'PEDBLINK1',
        hostname => 'example1.adb.ap-osaka-1.oraclecloud.com',
        port => '1522',
        service_name => '*example_high.adb.oraclecloud.com*',
        ssl_server_cert_dn => '*ssl_server_cert_dn*',
        credential_name => 'DB_LINK_CRED',
        directory_name => 'WALLET_DIR',
        private_target => TRUE);
    END;
    /

    Hinweis

    Hinweis: Wenn Sie die Datenbankeigenschaft ROUTE_OUTBOUND_CONNECTIONS festlegen, ist das Festlegen des Parameters private_target auf TRUE in dieser API nicht erforderlich. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten.

    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).

    Wenn das Ziel eine Oracle RAC-Datenbank ist, geben Sie mit dem Parameter rac_hostnames mindestens einen Hostnamen mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK an. Auf diese Weise können Sie die High Availability-Funktionen von Oracle RAC nutzen. Die Verwendung einer IP-Adresse, einer SCAN-IP oder eines SCAN-Hostnamens im Wert rac_hostnames wird nicht unterstützt.

    Beispiel: Verwenden Sie bei einer Oracle RAC-Zieldatenbank den Parameter rac_hostnames:

    BEGIN
      DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
        db_link_name => 'PEDBLINK1',
        rac_hostnames => '["sales1-svr1.example.adb.us-ashburn-1. oraclecloud.com",
                           "sales1-svr2.example.adb.us-ashburn-1.oraclecloud.com",
                           "sales1-svr3.example.adb.us-ashburn-1.oraclecloud.com"]',
        port => '1522',
        service_name => '*example_high.adb.oraclecloud.com*',
        ssl_server_cert_dn => '*ssl_server_cert_dn*',
        credential_name => 'DB_LINK_CRED',
        directory_name => 'WALLET_DIR',
        private_target => TRUE);
    END;
    /

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK unterstützt den Wert localhost für hostname oder im Parameter rac_hostnames nicht.

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

  7. Verwenden Sie den von Ihnen erstellten Datenbanklink, um auf Daten in der Zieldatenbank zuzugreifen.

    Zum Beispiel:

    SELECT * FROM employees@PEDBLINK1;
    Hinweis

    Hinweis: Wenn sich das Kennwort des Zielbenutzers ändert, können Sie für die Zugangsdaten, die Sie in Schritt 5 erstellen, die Oracle AI Database-Zugangsdaten wie folgt aktualisieren:

    BEGIN
      DBMS_CLOUD.UPDATE_CREDENTIAL (
        credential_name => 'DB_LINK_CRED',
        attribute => 'PASSWORD',
        value => 'password');
    END;
    /

    Dabei ist password das neue Kennwort.

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

Weitere Informationen finden Sie unter Prozedur CREATE_DATABASE_LINK.