Créer des liens de base de données avec la connectivité hétérogène gérée par le client vers des bases de données non 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 autonome avec intelligence artificielle sur une infrastructure Exadata dédiée qui se trouve sur un point d'extrémité public vers une passerelle Oracle Database Gateway pour accéder à des bases de données non Oracle.

Oracle Database Gateway est une passerelle conçue pour accéder à un système non Oracle spécifique. À l'aide d'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 l'emplacement des données ou la façon dont elles sont stocké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 de systèmes autres qu'Oracle.

Note : La création de liens de base de données avec une connectivité hétérogène gérée par le client vers des bases de données non Oracle accessibles au public n'est prise en charge qu'avec les versions 19.25 et supérieures pour 19c et 23.6 et supérieures pour 23ai.

Conditions requises

Pour utiliser des liens de base de données à partir d'une instance de base de données d'intelligence artificielle autonome sur un point d'extrémité public, procédez de la façon suivante :

  1. Configurez Oracle Database Gateway pour accéder à une base de données non Oracle. Pour plus de détails, voir Passerelles Oracle Database dans Oracle Database 19c Database Heterogeneous Connectivity User's Guide ou Oracle Database 26ai Database Heterogeneous Connectivity User's Guide.

    Selon la base de données à laquelle vous souhaitez vous connecter, vous pouvez vous référer au manuel Installation and Configuration Guide et au manuel Gateway User's Guide.

    Par exemple, pour Oracle Database Gateway for SQL Server, voir :

  2. Configurez Oracle Net Listener pour qu'il gère les demandes entrantes sur Oracle Database Gateway.

  3. Créez un portefeuille auto-signé dans Oracle Database Gateway.

  4. Configurez la passerelle cible pour utiliser TCP/IP avec l'authentification SSL (TCPS). Pour plus d'informations, voir Configuration de l'authentification de sécurité de la couche de transport dans le guide de sécurité d'Oracle Database 19c ou le guide de sécurité d'Oracle Database 26ai.

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 d'intelligence artificielle autonome sur un point d'extrémité public vers une passerelle Oracle Database Gateway pour 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 d'intelligence artificielle autonome sur un point d'extrémité public vers une passerelle cible :

  1. Copiez le portefeuille auto-signé de la passerelle cible, par exemple cwallet.sso, contenant les certificats pour Oracle Database Gateway dans le magasin d'objets.

    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 cible. Conservez les fichiers de portefeuille dans un emplacement sécurisé. Partagez les fichiers de portefeuille uniquement avec les utilisateurs autorisés.

  2. Créez des données d'identification pour accéder au magasin d'objets où vous stockez le fichier cwallet.sso. Voir la 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.

  3. 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.

  4. Utilisez DBMS_CLOUD.GET_OBJECT pour 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.

    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 et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.

    La valeur credential_name que 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.

    Voir Procédure et fonction GET_OBJECT pour plus de détails.

  5. Dans Autonomous AI Database, créez des données d'identification pour accéder à la base de données cible. Le nom d'utilisateur et le mot de passe que vous spécifiez avec DBMS_CLOUD.CREATE_CREDENTIAL sont les données 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 au moyen d'Oracle Database Gateway).

    Par exemple :

     BEGIN
         DBMS_CLOUD.CREATE_CREDENTIAL(
             credential_name => 'DB_LINK_CRED',
             username => 'NICK',
             password => 'password'
         );
     END;/
    

    La fourniture du paramètre credential_name est obligatoire.

    Les caractères du paramètre username doivent ê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.

  6. Créez le lien de base de données vers la passerelle cible à l'aide de DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Par 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, voir Procédure CREATE_DATABASE_LINK.

  7. Utilisez le lien de base de données que vous avez créé pour accéder aux données de la passerelle 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 d'Oracle Database Gateway, 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ù le 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 de détails, voir Procédure UPDATE_CREDENTIAL.

Voir Comment accéder à des bases de données non Oracle à partir d'une base de données Autonomous AI Database à l'aide d'Oracle Database Gateway pour un exemple de création d'un lien de base de données vers une base de données Oracle Database Gateway afin d'accéder à une base de données Microsoft SQL Server.

Note : Bien que le blogue ci-dessus traite du contexte d'Autonomous AI Database Serverless, tout le contenu de ce blogue s'applique également à Autonomous AI Database sur une infrastructure Exadata dédiée.

Contenu connexe

Ensemble DBMS_CLOUD_ADMIN