Création de liens de base de données avec une connectivité hétérogène gérée par le client aux bases de données autres qu'Oracle accessibles publiquement
Utilisez DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK pour créer des liens de base de données à partir d'une base de données Autonomous AI sur une infrastructure Exadata dédiée qui se trouve sur une adresse publique vers une instance Oracle Database Gateway afin d'accéder aux bases de données non Oracle.
Une passerelle Oracle Database Gateway est une passerelle conçue pour accéder à un système non Oracle spécifique. A l'aide d'une instance Oracle Database Gateway, vous pouvez accéder aux données n'importe où dans un système de base de données distribué sans connaître ni l'emplacement ni le mode de stockage des données. L'utilisation de liens de base de données sur Autonomous AI Database avec Oracle Database Gateway prend en charge des environnements hétérogènes et élimine la nécessité de personnaliser vos applications pour accéder aux données des systèmes non Oracle.
Remarque : la création de liens de base de données avec une connectivité hétérogène gérée par le client aux bases de données non Oracle accessibles au public est prise en charge uniquement avec les versions 19.25 et supérieures pour 19c et 23.6 et supérieures pour 23ai.
Prérequis
Pour utiliser des liens de base de données à partir d'une instance de base de données Autonomous AI sur une adresse publique, procédez comme suit :
-
Configurez Oracle Database Gateway pour accéder à une base de données non Oracle. Pour plus de détails, reportez-vous à Oracle Database Gateways dans le Guide de l'utilisateur Oracle Database 19c Database Heterogeneous Connectivity ou dans le Guide de l'utilisateur Oracle Database 26ai Database Heterogeneous Connectivity.
Selon la base de données à laquelle vous souhaitez vous connecter, vous pouvez vous reporter au guide d'installation et de configuration correspondant et au guide de l'utilisateur de la passerelle.
Par exemple, pour Oracle Database Gateway for SQL Server, reportez-vous aux sections suivantes :
-
Installing and Configuring Oracle Database Gateway for SQL Server dans le manuel Oracle Database 19c Installation and Configuration Guide for Microsoft Windows ou Oracle Database 26ai Installation and Configuration Guide for Microsoft Windows
-
Introduction à Oracle Database Gateway for SQL Server dans le Guide de l'utilisateur Oracle Database 19c ou le Guide de l'utilisateur Oracle Database 26ai.
-
Configure Oracle Net for the Gateway dans le Guide d'installation et de configuration d'Oracle Database 19c pour Microsoft Windows ou Guide d'installation et de configuration d'Oracle Database 26ai pour Microsoft Windows.
-
-
Configurez Oracle Net Listener pour gérer les demandes entrantes sur Oracle Database Gateway.
-
Créez un portefeuille auto-signé sur Oracle Database Gateway.
-
Configurez la passerelle cible pour qu'elle utilise TCP/IP avec l'authentification SSL (TCPS). Pour plus d'informations, reportez-vous à la section Configuring Transport Layer Security Authentication dans Oracle Database 19c Security Guide ou Oracle Database 26ai Security Guide.
Procédure
Utilisez DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK pour créer des liens de base de données à partir d'une instance de base de données Autonomous AI sur une adresse publique vers une instance Oracle Database Gateway afin d'accéder aux bases de données non Oracle.
Pour créer des liens de base de données à partir d'une instance de base de données Autonomous AI sur une adresse publique vers une passerelle cible, procédez comme suit :
-
Copiez le portefeuille auto-signé de la passerelle cible, par exemple, cwallet.sso, contenant les certificats d'Oracle Database Gateway vers la banque d'objets.
Remarque : le fichier de portefeuille, ainsi que l'ID utilisateur et le mot de passe de base de données, permettent d'accéder aux données disponibles via la passerelle cible. Stockez les fichiers de portefeuille dans un emplacement sécurisé. Partagez les fichiers de portefeuille uniquement avec les utilisateurs autorisés.
-
Créez des informations d'identification pour accéder à la banque d'objets dans laquelle vous stockez le fichier cwallet.sso. Reportez-vous à la procédure CREATE_CREDENTIAL pour plus d'informations sur les paramètres de nom utilisateur et de mot de passe des différents services de stockage d'objets.
-
Créez un répertoire sur la base de données Autonomous AI pour le fichier de portefeuille
cwallet.sso.Exemple :
CREATE DIRECTORY dblink_wallet_dir AS 'directory_path_of_your_choice';Pour plus d'informations sur la création de répertoires, reportez-vous à Création d'un répertoire dans la base de données Autonomous AI.
-
Utilisez
DBMS_CLOUD.GET_OBJECTpour télécharger le portefeuille auto-signé de la passerelle cible vers le répertoire créé à l'étape précédente,DBLINK_WALLET_DIR.Exemple :
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;Dans cet exemple,
namespace-stringest l'espace de noms Oracle Cloud Infrastructure Object Storage etbucketnameest le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.Le fichier
credential_nameque vous utilisez dans cette étape correspond aux informations d'identification de la banque d'objets. A l'étape suivante, vous allez créer les informations d'identification permettant d'accéder à la passerelle cible.Pour plus d'informations, voir Procédure et fonction GET_OBJECT.
-
Sur la base de données Autonomous AI, créez des informations d'identification pour accéder à la base de données cible. Le nom utilisateur et le mot de passe que vous indiquez avec
DBMS_CLOUD.CREATE_CREDENTIALsont les informations d'identification de la base de données cible utilisée dans le lien de base de données (où la base de données cible est accessible via Oracle Database Gateway).Exemple :
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DB_LINK_CRED', username => 'NICK', password => 'password' ); END;/Le paramètre
credential_nameest obligatoire.Les caractères du paramètre
usernamedoivent être en majuscules.Cette opération stocke les informations d'identification dans la base de données dans un format crypté. Vous pouvez utiliser n'importe quel nom d'informations d'identification.
-
Créez le lien de base de données vers la passerelle cible à l'aide de
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.Exemple :
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;/Les utilisateurs autres qu'ADMIN ont besoin de privilèges pour exécuter
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.Pour plus d'informations, reportez-vous à Procédure CREATE_DATABASE_LINK.
-
Utilisez le lien de base de données que vous avez créé pour accéder aux données sur la passerelle cible.
Exemple :
SELECT * FROM employees@SALESLINK;
Pour les informations d'identification que vous créez à l'étape 5, les informations d'identification Oracle Database Gateway, si le mot de passe de l'utilisateur cible change, vous pouvez mettre à jour les informations d'identification qui contiennent les informations d'identification de l'utilisateur cible comme suit :
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL(
credential_name =>'DB_LINK_CRED',
attribute =>'PASSWORD',
value=>'password'
);
END;
/
Où mot de passe correspond au nouveau mot de passe.
Après cette opération, les liens de base de données existants qui utilisent ces informations d'identification continuent de fonctionner sans avoir à supprimer ni à recréer les liens de base de données.
Pour plus d'informations, reportez-vous à Procédure UPDATE_CREDENTIAL.
Reportez-vous à Accès aux bases de données non Oracle à partir d'une base de données Autonomous AI à l'aide d'Oracle Database Gateway pour obtenir un exemple de création d'un lien de base de données vers une base de données Oracle Database Gateway pour accéder à une base de données Microsoft SQL Server.
Remarque : bien que le blog ci-dessus traite du contexte d'Autonomous AI Database Serverless, tout le contenu de ce blog s'applique également à Autonomous AI Database on Dedicated Exadata Infrastructure.