Datenbanklinks zu öffentlich zugänglichen Nicht-Oracle-Datenbanken mit vom Kunden verwalteter heterogener Konnektivität erstellen
Verwenden Sie DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK, um Datenbanklinks aus einer autonomen KI-Datenbank auf einer dedizierten Exadata-Infrastruktur zu erstellen, die sich auf einem öffentlichen Endpunkt zu einem Oracle Database Gateway befindet, um auf Nicht-Oracle-Datenbanken zuzugreifen.
Ein Oracle Database Gateway ist ein Gateway, das für den Zugriff auf ein bestimmtes Nicht-Oracle-System entwickelt wurde. Mit einem Oracle Database Gateway können Sie überall in einem verteilten Datenbanksystem auf Daten zugreifen, ohne den Speicherort der Daten oder deren Speicherung zu kennen. Durch die Verwendung von Datenbanklinks in der autonomen KI-Datenbank mit Oracle Database Gateway werden heterogene Umgebungen unterstützt, und es ist nicht erforderlich, Ihre Anwendungen anzupassen, um auf Daten aus Nicht-Oracle-Systemen zuzugreifen.
Hinweis: Das Erstellen von Datenbanklinks mit vom Kunden verwalteter heterogener Konnektivität zu öffentlich zugänglichen Nicht-Oracle-Datenbanken wird nur mit den Versionen 19.25 und höher für 19c und 23.6 und höher für 23ai unterstützt.
Voraussetzungen
So verwenden Sie Datenbanklinks von einer autonomen KI-Datenbankinstanz auf einem öffentlichen Endpunkt:
-
Konfigurieren Sie Oracle Database Gateway für den Zugriff auf eine Nicht-Oracle-Datenbank. Weitere Informationen finden Sie unter Oracle Database Gateways in Oracle Database 19c Database Heterogeneous Connectivity User's Guide oder Oracle Database 26ai Database Heterogeneous Connectivity User's Guide.
Abhängig von der Datenbank, zu der Sie eine Verbindung herstellen möchten, können Sie das entsprechende Installations- und Konfigurationshandbuch sowie das Gateway-Benutzerhandbuch lesen.
Beispiel für Oracle Database Gateway for SQL Server:
-
Installieren und Konfigurieren von Oracle Database Gateway for SQL Server im Oracle Database 19c Installations- und Konfigurationshandbuch für Microsoft Windows oder im Oracle Database 26ai Installations- und Konfigurationshandbuch für Microsoft Windows
-
Einführung in Oracle Database Gateway for SQL Server in Oracle Database 19c - Benutzerhandbuch oder Oracle Database 26ai - Benutzerhandbuch.
-
Configure Oracle Net for the Gateway in Oracle Database 19c Installation and Configuration Guide for Microsoft Windows oder Oracle Database 26ai Installation and Configuration Guide for Microsoft Windows.
-
-
Konfigurieren Sie Oracle Net Listener für die Verarbeitung eingehender Anforderungen in Oracle Database Gateway.
-
Erstellen Sie ein selbstsigniertes Wallet in Oracle Database Gateway.
-
Konfigurieren Sie das Zielgateway für die Verwendung von TCP/IP mit SSL-(TCPS-)Authentifizierung. Weitere Informationen finden Sie unter Transport Layer Security-Authentifizierung konfigurieren in der Oracle Database 19c-Sicherheitsdokumentation oder im Oracle Database 26ai-Sicherheitshandbuch.
Vorgehensweise
Mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK können Sie Datenbanklinks von einer autonomen KI-Datenbankinstanz auf einem öffentlichen Endpunkt zu einem Oracle Database Gateway erstellen, um auf Nicht-Oracle-Datenbanken zuzugreifen.
So erstellen Sie Datenbanklinks von einer autonomen KI-Datenbankinstanz auf einem öffentlichen Endpunkt zu einem Zielgateway:
-
Kopieren Sie das selbstsignierte Wallet des Zielgateways, z.B. cwallet.sso, das die Zertifikate für Oracle Database Gateway in den Objektspeicher enthält.
Hinweis: Die Wallet-Datei sowie die Datenbankbenutzer-ID und das Datenbankkennwort ermöglichen den Zugriff auf Daten, die über das Zielgateway verfügbar sind. Speichern Sie die Wallet-Dateien an einem sicheren Speicherort. Geben Sie Wallet-Dateien nur für autorisierte Benutzer frei.
-
Erstellen Sie Zugangsdaten für den Zugriff auf den Objektspeicher, in dem Sie cwallet.sso speichern. Informationen zu den Benutzernamen- und Kennwortparametern für verschiedene Object Storage-Services finden Sie in der Prozedur CREATE_CREDENTIAL.
-
Erstellen Sie ein Verzeichnis in 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.
-
Mit
DBMS_CLOUD.GET_OBJECTkönnen Sie das selbstsignierte Wallet des Zielgateways in das Verzeichnis hochladen, das Sie im vorherigen SchrittDBLINK_WALLET_DIRerstellt 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-stringder Oracle Cloud Infrastructure-Objektspeicher-Namespace undbucketnameder 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.Weitere Informationen finden Sie unter GET_OBJECT-Prozedur und -Funktion.
-
Erstellen Sie in der autonomen KI-Datenbank Zugangsdaten für den Zugriff auf die Zieldatenbank. Der Benutzername und das Kennwort, die Sie mit
DBMS_CLOUD.CREATE_CREDENTIALangeben, sind die Zugangsdaten für die Zieldatenbank, die im Datenbanklink verwendet wird (wo auf die Zieldatenbank über Oracle Database Gateway zugegriffen wird).Beispiel:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DB_LINK_CRED', username => 'NICK', password => 'password' ); END;/Die Angabe des Parameters
credential_nameist erforderlich.Die Zeichen im Parameter
usernamemü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.
-
Erstellen Sie den Datenbanklink zum 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.Weitere Informationen finden Sie unter Prozedur CREATE_DATABASE_LINK.
-
Verwenden Sie den Datenbanklink, den Sie erstellt haben, um auf Daten im Zielgateway zuzugreifen.
Beispiel:
SELECT * FROM employees@SALESLINK;
Bei den Zugangsdaten, die Sie in Schritt 5 erstellen, den Oracle Database Gateway-Zugangsdaten können Sie die Zugangsdaten mit den Zugangsdaten des Zielbenutzers 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 das Passwort das neue Passwort.
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 UPDATE_CREDENTIAL.
Ein Beispiel zum Erstellen eines Datenbanklinks zu einem Oracle Database Gateway für den Zugriff auf eine Microsoft SQL Server-Datenbank finden Sie unter So greifen Sie auf Nicht-Oracle-Datenbanken aus einer autonomen KI-Datenbank mit Oracle Database Gateway zu.
Hinweis: Obwohl der obige Blog im Kontext von Autonomous AI Database Serverless diskutiert, gelten alle Inhalte in diesem Blog auch für Autonomous AI Database on Dedicated Exadata Infrastructure.