Créer des 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 publiquement

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

  1. Copiez le portefeuille auto-signé d'Oracle Database Gateway cible dans le magasin d'objets. Par exemple, copiez 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 d'Oracle Database Gateway 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 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.
  3. 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.

  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.

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

  5. 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. username et password que vous spécifiez avec DBMS_CLOUD.CREATE_CREDENTIAL sont 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 d'Oracle Database Gateway).

    La fourniture du paramètre credential_name est requise.

    Exemple :

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

    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 le nom des données d'identification.

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

  7. 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 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;
/

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.

Reportez-vous à l'exemple suivant pour savoir comment créer un lien de base de données vers Oracle Database Gateway afin d'accéder à une base de données Microsoft SQL Server :

Comment accéder à des bases de données non Oracle à partir d'Autonomous Database à l'aide d'Oracle Database Gateway

Pour plus d'informations, voir :