Créer des liens de base de données à partir d'une base de données IA autonome vers une base de données Oracle Database accessible au public avec un portefeuille (mTLS)
Vous pouvez créer des liens de base de données à partir d'une base de données d'intelligence artificielle autonome vers une base de données Oracle cible qui se trouve sur un point d'extrémité public.
Pour utiliser des liens de base de données avec Autonomous AI Database, la base de données cible doit être configurée pour utiliser l'authentification TCP/IP avec SSL (TCPS). Les bases de données autonomes d'IA utilisent l'authentification TCP/IP avec SSL (TCPS) par défaut. Vous n'avez donc pas besoin d'effectuer de configuration supplémentaire dans la base de données cible pour la liaison à une autre base de données autonome d'IA. D'autres bases de données Oracle doivent être configurées pour utiliser l'authentification TCP/IP avec SSL (TCPS). Pour plus d'informations, voir Configuration de l'authentification SSL dans le guide de sécurité d'Oracle Database 19c ou le guide de sécurité d'Oracle Database 26ai.
Pour créer des liens de base de données vers une cible publique, Oracle Database cible doit être accessible. Certaines bases de données peuvent limiter l'accès (par exemple, en utilisant des listes de contrôle d'accès). Assurez-vous d'activer la base de données cible pour autoriser l'accès à partir de la base de données source pour que le lien de base de données fonctionne. Si vous limitez l'accès avec les listes de contrôle d'accès, vous pouvez trouver l'adresse IP sortante de votre base de données d'IA autonome source et autoriser cette adresse IP à se connecter à votre base de données cible.
Pour plus d'informations, voir Comment créer un lien de base de données entre votre base de données d'IA autonome et une instance Database Cloud Service.
Pour créer des liens de base de données vers une base de données Oracle cible avec un portefeuille (mTLS) :
-
Copiez le portefeuille de la base de données cible,
cwallet.sso, contenant les certificats de la base de données cible dans le magasin d'objets.Notez ce qui suit pour le fichier de portefeuille :
-
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 dans Oracle Database cible. Conservez les fichiers de portefeuille dans un emplacement sécurisé. Partagez les fichiers de portefeuille uniquement avec les utilisateurs autorisés.
-
Ne renommez pas le fichier de portefeuille. Le fichier de portefeuille dans le stockage d'objets doit être nommé
cwallet.sso.
-
-
Créez des données d'identification pour accéder au magasin d'objets où vous stockez le fichier de portefeuille
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 dans Autonomous AI Database pour le fichier de portefeuille
cwallet.sso.Par 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 de base de données cible dans le répertoire que vous avez créé à l'étape précédente, DBLINK_WALLET_DIR.Par 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-string*est l'espace de noms du stockage d'objets Oracle Cloud Infrastructure etbucketnameest le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.Note : La valeur
credential_nameque vous utilisez à 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 base de données cible. -
Dans l'instance Autonomous AI Database, créez des données d'identification pour accéder à la base de données cible. Les données d'identification
usernameetpasswordque vous spécifiez avecDBMS_CLOUD.CREATE_CREDENTIALsont celles de la base de données cible que vous utilisez pour créer le lien de base de données.Note : La fourniture du paramètre
credential_nameest requise.Par 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 le lien de base de données vers la base de données cible à l'aide de
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.Par exemple :
BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'SALESLINK', hostname => 'adb.eu-frankfurt-1.oraclecloud.com', port => '1522', service_name => '*example*_medium.atpc.example.oraclecloud.com', ssl_server_cert_dn => 'CN=atpc.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US', credential_name => 'DB_LINK_CRED', directory_name => '*DBLINK_WALLET_DIR*'); END; /Les utilisateurs autres qu'ADMIN ont besoin de privilèges pour exécuter
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.Si le fichier de portefeuille dans le répertoire spécifié avec
directory_namen'est pascwallet.sso, la procédure signale une erreur telle que :ORA-28759: failure to open file. -
Utilisez le lien de base de données que vous avez créé pour accéder aux données de la base de données cible.
Par 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 base de données cible, 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.
Pour plus d'informations, voir :
Notes sur les liens de base de données avec Oracle Database cible
Fournit des notes pour la création de liens de base de données vers une base de données Oracle cible (lorsque la cible n'est pas une base de données d'intelligence artificielle autonome)
Notes relatives aux liens de base de données vers d'autres bases Oracle :
-
Un seul fichier de portefeuille est valide par répertoire à utiliser avec les liens de base de données. Vous ne pouvez charger qu'une seule
cwallet.ssoà la fois dans le répertoire choisi pour les fichiers de portefeuille (par exemple DBLINK_WALLET_DIR). Cela signifie qu'aveccwallet.ssodans DBLINK_WALLET_DIR, vous pouvez uniquement créer des liens de base de données vers les bases de données pour lesquelles le portefeuille de ce répertoire est valide. Pour utiliser plusieurs fichierscwallet.ssoavec des liens de base de données, vous devez créer des répertoires supplémentaires et placer chaque fichiercwallet.ssodans un répertoire différent. Lorsque vous créez des liens de base de données avecDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK, spécifiez le répertoire qui contient le portefeuille avec le paramètredirectory_name.Voir Créer un répertoire dans Autonomous AI Database pour plus d'informations sur la création de répertoires.
-
Les versions de base de données Oracle cible prises en charge pour les liens de base de données vers une autre base Oracle Database sont : 19c, 12.2.0 et 12.1.0.
Note : Pour obtenir des informations complètes sur les versions prises en charge, voir Matrice de soutien à l'interopérabilité du serveur client pour différentes versions d'Oracle (ID document 207303.1)
-
La base de données autonome d'IA règle le paramètre
SEC_CASE_SENSITIVE_LOGONàtrueet cette valeur ne peut pas être modifiée. Si votre base de données cible n'est pas une base de données d'intelligence artificielle autonome, vous devez régler le paramètreSEC_CASE_SENSITIVE_LOGONàtruesur la base de données cible. SiSEC_CASE_SENSITIVE_LOGONest réglé àfalsedans la base de données cible, l'erreurORA-28040: No matching authentication protocolest générée. -
Pour lister les liens de base de données, utilisez la vue
ALL_DB_LINKS. Pour plus d'informations, voir ALL_DB_LINKS dans Informations de référence sur les bases de données Oracle Database 19c ou Informations de référence sur les bases de données Oracle Database 26ai. -
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 de la base Oracle cible. Conservez les fichiers de portefeuille dans un emplacement sécurisé. Partagez les fichiers de portefeuille uniquement avec les utilisateurs autorisés.
-
Lorsque l'instance de base de données du service d'intelligence artificielle autonome se trouve sur un point d'extrémité privé, deux options s'offrent à vous pour spécifier la base de données cible : utilisez le paramètre
hostnameou le paramètrerac_hostnames:-
Pour une cible sur un point d'extrémité privé,
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKprend en charge la spécification d'un nom d'hôte unique avec le paramètrehostname. Sur un point d'extrémité privé, l'utilisation d'une adresse IP, d'une adresse IP SCAN ou d'un nom d'hôte SCAN n'est pas prise en charge (lorsque la cible se trouve sur un point d'extrémité public,CREATE_DATABASE_LINKprend en charge l'utilisation d'une adresse IP, d'une adresse IP SCAN ou d'un nom d'hôte SCAN). -
Lorsque la cible est une base de données Oracle RAC, utilisez le paramètre
rac_hostnamespour spécifier un ou plusieurs noms d'hôte avecDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. Vous pouvez ainsi tirer parti des fonctionnalités de haute disponibilité d'Oracle RAC. L'utilisation d'une adresse IP, d'une adresse IP SCAN ou d'un nom d'hôte SCAN dans la valeurrac_hostnamesn'est pas prise en charge.Lorsque vous spécifiez une liste de noms d'hôte dans le paramètre
rac_hostnames,CREATE_DATABASE_LINKutilise tous les noms d'hôte spécifiés comme adresses dans la chaîne de connexion. Si l'un des hôtes spécifiés n'est pas disponible dans la base de données Oracle RAC cible, Autonomous Database tente automatiquement de se connecter à l'aide d'un autre nom d'hôte de la liste. -
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKne prend pas en charge la valeurlocalhostpourhostnameou dans le paramètrerac_hostnames.
-