Datenbanklinks mit von Kunden verwalteter heterogener Konnektivität zu öffentlich zugänglichen Nicht-Oracle AI-Datenbanken erstellen

Verwenden Sie DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK, um Datenbanklinks von einer autonomen KI-Datenbankinstanz auf einem öffentlichen Endpunkt zu einem Oracle AI Database-Gateway für den Zugriff auf Nicht-Oracle-Datenbanken zu erstellen.

Um Datenbanklinks von einer autonomen AI-Datenbankinstanz auf einem öffentlichen Endpunkt zu verwenden, muss das Ziel eines Oracle AI Database-Gateways so konfiguriert sein, dass TCP/IP mit SSL-(TCPS-)Authentifizierung verwendet wird. Weitere Informationen finden Sie unter Secure Sockets Layer-Authentifizierung konfigurieren.

So erstellen Sie Datenbanklinks von einer autonomen KI-Datenbankinstanz auf einem öffentlichen Endpunkt zu einem Oracle AI Database-Zielgateway:

  1. Kopieren Sie das selbstsignierte Ziel-Wallet von Oracle AI Database Gateway in den Objektspeicher. Beispiel: Kopieren Sie cwallet.sso, das die Zertifikate für das Oracle AI Database Gateway enthält, in den Objektspeicher.

    Hinweis

    Hinweis: Die Wallet-Datei sowie die Datenbankbenutzer-ID und das Datenbankkennwort ermöglichen den Zugriff auf Daten, die über das Oracle AI Database-Zielgateway verfügbar sind. 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 Instanz der autonomen KI-Datenbank für die Wallet-Datei cwallet.sso.

    Beispiel:

    CREATE DIRECTORY *dblink_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 selbstsignierte Wallet des Zielgateways in das Verzeichnis hochladen, das Sie im vorherigen Schritt DBLINK_WALLET_DIR erstellt haben.

    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 => '*DBLINK_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.

    Die credential_name, die Sie in diesem Schritt verwenden, sind die Zugangsdaten für den Objektspeicher. Im nächsten Schritt erstellen Sie die Zugangsdaten für den Zugriff auf das Zielgateway.

  5. Erstellen Sie auf der Instanz 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 beim Erstellen des Datenbanklinks verwendet werden sollen (auf die über das Oracle AI Database-Gateway zugegriffen wird).

    Geben Sie den Parameter credential_name an.

    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.

    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 einen Datenbanklink für den Zugriff auf das Zielgateway mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Beispiel:

    BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
              db_link_name =>       'SALESLINK',
              hostname =>           '*example.com*',
              port =>               '1522',
              service_name =>       '*example_service_name*',
              ssl_server_cert_dn => '*ssl_server_cert_dn*',
              credential_name =>    'DB_LINK_CRED',
              directory_name =>     '*DBLINK_WALLET_DIR*',
              gateway_link =>        TRUE);
    END;
    /

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

  7. Verwenden Sie den Datenbanklink, um auf Daten im Zielgateway zuzugreifen.

    Beispiel:

    SELECT * FROM employees@SALESLINK;

Bei den Zugangsdaten, die Sie in Schritt 5 erstellen, können Sie die Zugangsdaten für das Oracle AI Database-Gateway 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;
/

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.

Im folgenden Beispiel wird gezeigt, wie Sie einen Datenbanklink zu einem Oracle AI Database-Gateway für den Zugriff auf eine Microsoft SQL Server-Datenbank erstellen: So greifen Sie über Oracle AI Database Gateway auf Nicht-Oracle AI-Datenbanken aus einer autonomen KI-Datenbank zu

Weitere Informationen finden Sie hier: