Datenbanklinks zu Nicht-Oracle-Datenbanken auf einem privaten Endpunkt mit vom Kunden verwalteter heterogener Konnektivität erstellen
Sie können Datenbanklinks aus einer autonomen KI-Datenbank auf einer dedizierten Exadata-Infrastruktur zu einem Oracle Database Gateway erstellen, um auf Nicht-Oracle-Datenbanken zuzugreifen, die sich auf einem privaten Endpunkt befinden.
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 Nicht-Oracle-Datenbanken auf einem privaten Endpunkt 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
-
Introduction to the Oracle Database Gateway for SQL Server in Oracle Database 19c Gateway for SQL Server User's Guide. oder Oracle Database 26ai Gateway for SQL Server User's Guide.
-
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.
Zusätzlich ist Folgendes möglich:
-
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.
-
Bei einem Ziel auf einem privaten Endpunkt unterstützt
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKdie Angabe eines einzelnen Hostnamens mit dem Parameterhostname. 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ütztCREATE_DATABASE_LINKdie Verwendung einer IP-Adresse, einer SCAN-IP oder eines SCAN-Hostnamens).
-
-
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.
-
Vom Kunden verwaltete heterogene Konnektivität zu Nicht-Oracle-Datenbanken auf einem privaten Endpunkt (ohne Wallet)
Sie können Datenbanklinks von einer autonomen KI-Datenbank zu einem Oracle Database Gateway erstellen, um auf Nicht-Oracle-Datenbanken zuzugreifen, die sich auf einem privaten Endpunkt befinden, entweder mit einem Wallet (TCPS) oder ohne ein Wallet (TLS). In diesem Abschnitt wird beschrieben, wie Sie einen Datenbanklink ohne Wallet erstellen.
Um Datenbanklinks von einer autonomen KI-Datenbankinstanz auf einem privaten Endpunkt mit Datenbanklinks und einer TLS-Verbindung zu einem Zielgateway zu erstellen, gehen Sie folgendermaßen vor:
-
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 => NULL, gateway_link => TRUE, private_target => TRUE, gateway_params => NULL ); END;/Der Parameter
ssl_server_cert_dnist optional, wenn die Verbindung als TCP-basierter Datenbanklink (ohne Wallet) erstellt wird.Wenn
directory_nameNULList, wird die Verbindung als TCP-basierter Datenbanklink (ohne Wallet) erstellt.Der Parameter
private_targetmuss aufTRUEgesetzt werden, wenn sich das Nicht-Oracle Database-Ziel auf einem privaten Endpunkt befindet (das heißt, der Datenbanklink greift auf einen Hostnamen zu, der in einem VCN-DNS-Server aufgelöst werden muss). Wennprivate_targetTRUEist, muss der Parameterhostnameein einzelner Hostname sein (auf einem privaten Endpunkt, der eine IP-Adresse, eine SCAN-IP oder einen SCAN-Hostnamen verwendet, wird nicht unterstützt).Wenn
gateway_linkTRUEundgateway_paramsNULList, gibt dies an, dass der Datenbanklink zu einem vom Kunden verwalteten Oracle Gateway gehört.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;
Für die in Schritt 1 erstellten Zugangsdaten, die Oracle Database Gateway-Zugangsdaten, können Sie die Zugangsdaten, die die Zugangsdaten des Zielbenutzers enthalten, 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 das Kennwort das neue Kennwort 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 UPDATE_CREDENTIAL.
Vom Kunden verwaltete heterogene Konnektivität zu Nicht-Oracle-Datenbanken auf einem privaten Endpunkt (mit einem Wallet)
Sie können Datenbanklinks von einer autonomen KI-Datenbank zu einem Oracle Database Gateway erstellen, um auf Nicht-Oracle-Datenbanken zuzugreifen, die sich auf einem privaten Endpunkt befinden, entweder mit einem Wallet (TCPS) oder ohne ein Wallet (TLS). In diesem Abschnitt wird beschrieben, wie Sie einen Datenbanklink mit einem Wallet erstellen.
Um Datenbanklinks von einer autonomen KI-Datenbankinstanz auf einem privaten Endpunkt zu einem Zielgateway zu erstellen und eine Verbindung mit einem Wallet herzustellen, gehen Sie wie folgt vor:
-
Kopieren Sie das selbstsignierte Wallet des Zielgateways, z.B.
cwallet.sso, das die Zertifikate für das Oracle Database Gateway in den Objektspeicher enthält.Die Wallet-Datei bietet zusammen mit der Datenbankbenutzer-ID und dem Kennwort 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 in der autonomen KI-Datenbank Zugangsdaten für den Zugriff auf den Objektspeicher, in dem Sie die
cwallet.ssospeichern.Informationen zu den Benutzernamen- und Kennwortparametern für verschiedene Object Storage-Services finden Sie unter CREATE_CREDENTIAL Procedure.
-
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.Hinweis: 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. -
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, private_target =>TRUE, gateway_params =>NULL ); END; /Wenn
directory_namenichtNULList, wird ein TCPS-basierter Datenbanklink erstellt.Der Parameter
private_targetmuss aufTRUEgesetzt werden, wenn sich das Nicht-Oracle Database-Ziel auf einem privaten Endpunkt befindet (das heißt, der Datenbanklink greift auf einen Hostnamen zu, der in einem VCN-DNS-Server aufgelöst werden muss). Wennprivate_targetTRUEist, muss der Parameterhostnameein einzelner Hostname sein (auf einem privaten Endpunkt, der eine IP-Adresse, eine SCAN-IP oder einen SCAN-Hostnamen verwendet, wird nicht unterstützt).Wenn
gateway_linkTRUEundgateway_paramsNULList, gibt dies an, dass der Datenbanklink zu einem vom Kunden verwalteten Oracle Gateway gehört.Andere Benutzer als ADMIN benötigen Berechtigungen zum Ausführen von
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.Weitere Informationen finden Sie unter CREATE_DATABASE_LINK-Prozedur.
-
Verwenden Sie den Datenbanklink, den Sie erstellt haben, um auf Daten im Zielgateway zuzugreifen.
Beispiel:
SELECT * FROM employees@SALESLINK;
Für die Zugangsdaten, die Sie in Schritt 5 erstellen, die Oracle Database Gateway-Zugangsdaten. Wenn sich das Kennwort des Zielbenutzers ändert, können Sie die Zugangsdaten mit den Zugangsdaten des Zielbenutzers wie folgt aktualisieren:
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL (
credential_name =>'DB_LINK_CRED',
attribute =>'PASSWORD',
value=>'password'
);
END;
/
Wobei das Kennwort das neue Kennwort 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 UPDATE_CREDENTIAL.