Create Database Links with Customer-Managed Heterogeneous Connectivity to Publicly Accessible Non Oracle AI Databases
Utilisez DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK pour créer des liens de base de données à partir d'une instance Autonomous AI Database sur un point d'extrémité public vers une passerelle Oracle AI Database pour accéder aux bases de données non Oracle.
Pour utiliser des liens de base de données à partir d'une instance de base de données d'IA autonome sur un point d'extrémité public, la cible d'une passerelle Oracle AI Database doit être configurée pour utiliser l'authentification TCP/IP avec SSL (TCPS). Pour plus d'informations, voir Configuration de l'authentification Secure Sockets Layer.
Pour créer des liens de base de données à partir d'une instance Autonomous AI Database sur un point d'extrémité public vers une passerelle Oracle AI Database cible :
-
Copiez le portefeuille auto-signé du service de passerelle Oracle AI Database cible dans le magasin d'objets. Par exemple, copiez
cwallet.sso, contenant les certificats pour la passerelle Oracle AI Database, dans le magasin d'objets.Note
Note : Le fichier de portefeuille, ainsi que l'ID utilisateur et le mot de passe de la base de données, permettent d'accéder aux données disponibles au moyen de la passerelle Oracle AI Database cible. Conservez les fichiers de portefeuille dans un emplacement sécurisé. Partagez les fichiers de portefeuille uniquement avec les utilisateurs autorisés. -
Créez des données d'identification pour accéder au magasin d'objets où vous stockez
cwallet.sso. Voir Procédure CREATE_CREDENTIAL pour plus d'informations sur les paramètres de nom d'utilisateur et de mot de passe pour différents services de stockage d'objets. -
Créez un répertoire sur votre instance de base de données du service d'intelligence artificielle autonome pour le fichier de portefeuille
cwallet.sso.Exemple :
CREATE DIRECTORY *dblink_wallet_dir* AS '*directory_path_of_your_choice*';Voir Créer un répertoire dans Autonomous AI Database pour plus d'informations sur la création de répertoires.
-
Utilisez
DBMS_CLOUD.GET_OBJECTpour charger le portefeuille auto-signé de la passerelle cible dans le répertoire que vous avez 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 du stockage d'objets pour Oracle Cloud Infrastructure etbucketnameest le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.La valeur
credential_nameque vous utilisez dans cette étape correspond aux données d'identification pour le magasin d'objets. À l'étape suivante, vous créez les données d'identification pour accéder à la passerelle cible. -
Sur votre instance de base de données d'intelligence artificielle autonome, créez des données d'identification pour accéder à la base de données cible.
usernameetpasswordque vous spécifiez avecDBMS_CLOUD.CREATE_CREDENTIALsont les données d'identification de la base de données cible à utiliser lors de la création du lien de base de données (où la base de données cible est accessible au moyen de la passerelle Oracle AI Database).La fourniture du paramètre
credential_nameest requise.Exemple :
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DB_LINK_CRED', username => 'NICK', password => 'password' ); END; /Les caractères du paramètre
usernamedoivent être toutes des lettres majuscules.Cette opération stocke les données d'identification dans la base de données dans un format chiffré. Vous pouvez utiliser n'importe quel nom pour les données d'identification.
-
Créez un lien de base de données pour accéder à 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. -
Utilisez le lien de base de données pour accéder aux données de la passerelle cible.
Exemple :
SELECT * FROM employees@SALESLINK;
Pour les données d'identification que vous créez à l'étape 5, les données d'identification de la passerelle Oracle AI Database, si le mot de passe de l'utilisateur cible change, vous pouvez mettre à jour les données d'identification qui contiennent les données 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 est le nouveau mot de passe.
Après cette opération, les liens de base de données existants qui utilisent ces données d'identification continuent de fonctionner sans avoir à supprimer et à recréer les liens de base de données.
Voir ce qui suit pour un exemple qui vous montre comment créer un lien de base de données vers une passerelle Oracle AI Database pour accéder à une base de données Microsoft SQL Server : Comment accéder à des bases de données non Oracle AI à partir d'une base de données Autonomous AI Database à l'aide de la passerelle Oracle AI Database
Pour plus d'informations, voir :