Créer des liens de base de données à partir d'une base de données IA autonome vers Oracle Database sur un point d'extrémité privé

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 Database cible qui se trouve sur un point d'extrémité privé.

Note : Les liens de base de données d'une base de données Oracle cible qui se trouve sur un point d'extrémité privé ne sont pris en charge que dans les régions commerciales et les régions du gouvernement américain. Cette fonction est activée par défaut dans toutes les régions commerciales. Cette fonction est activée par défaut dans les régions gouvernementales des États-Unis pour les nouvelles bases de données provisionnées. Pour les bases de données gouvernementales existantes des États-Unis sur un point d'extrémité privé, si vous voulez créer des liens de base de données à partir d'une base de données d'intelligence artificielle autonome vers une cible dans une région du gouvernement des États-Unis, vous pouvez soumettre une demande de service au soutien technique d'Oracle Cloud et demander l'activation du point d'extrémité privé dans la fonction de liaison de base de données des régions gouvernementales. Les régions du gouvernement américain sont les suivantes :

Selon le type et la configuration de la base de données Oracle cible :

Préalables pour les liens de base de données entre une base de données d'intelligence artificielle autonome et des bases de données Oracle sur un point d'extrémité privé

Répertorie les préalables pour 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 située sur un point d'extrémité privé.

Pour créer un lien de base de données vers une base de données Oracle cible sur un point d'extrémité privé :

Créer des liens de base de données vers des bases de données Oracle sur un point d'extrémité privé sans portefeuille

Utilisez DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK pour 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 située sur un point d'extrémité privé et vous connecter sans portefeuille (TCP).

Note : Cette option concerne les bases de données Oracle cibles qui se trouvent sur un point d'extrémité privé et pour lesquelles SSL/TCPS n'est pas configuré.

Effectuez les étapes préalables, au besoin. Pour plus de détails, voir Préalables pour les liens de base de données entre une base de données d'intelligence artificielle autonome et des bases de données Oracle sur un point d'extrémité privé.

Pour créer un lien de base de données vers une base de données cible sur un point d'extrémité privé à l'aide d'une connexion TCP sécurisée sans portefeuille :

  1. Dans la base de données d'intelligence artificielle autonome, créez des données d'identification pour accéder à la base de données cible. Les données d'identification username et password que vous spécifiez avec DBMS_CLOUD.CREATE_CREDENTIAL sont celles 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 du VCN).

    Par exemple :

     BEGIN
          DBMS_CLOUD.CREATE_CREDENTIAL(
              credential_name => 'PRIVATE_ENDPOINT_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 les données d'identification.

  2. 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 => 'PRIVATE_ENDPOINT_LINK',
              hostname => 'exampleHostname',
              port => '1522',
              service_name => '*exampleServiceName*',
              ssl_server_cert_dn => NULL,
              credential_name => 'PRIVATE_ENDPOINT_CRED',
              directory_name => NULL,
              private_target => TRUE);
     END;
     /
    

    Pour une cible sur un point d'extrémité privé, DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK prend en charge la spécification d'un nom d'hôte unique avec le paramètre hostname. 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_LINK prend 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_hostnames pour spécifier un ou plusieurs noms d'hôte avec DBMS_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 valeur rac_hostnames n'est pas prise en charge.

    Par exemple, avec une base de données Oracle RAC cible, utilisez le paramètre rac_hostnames :

     BEGIN
          DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
              db_link_name => 'PRIVATE_ENDPOINT_LINK',
              rac_hostnames => '["sales1-svr1.*example*.adb.us-ashburn-1.oraclecloud.com",
                                 "sales1-svr2.*example*.adb.us-ashburn-1.oraclecloud.com",
                                 "sales1-svr3.*example*.adb.us-ashburn-1.oraclecloud.com"]',
              port => '1522',
              service_name => '*exampleServiceName*',
              ssl_server_cert_dn => NULL,
              credential_name => 'PRIVATE_ENDPOINT_CRED',
              directory_name => NULL,
              private_target => TRUE);
     END;
     /
    

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK ne prend pas en charge la valeur localhost pour hostname ou dans le paramètre rac_hostnames.

    Les utilisateurs autres qu'ADMIN ont besoin de privilèges pour exécuter DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Comme illustré dans l'exemple, pour créer un lien de base de données avec DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK vers une base de données cible sur un point d'extrémité privé à l'aide d'une connexion TCP sécurisée sans portefeuille, tous les éléments suivants sont requis :

    • Le paramètre directory_name doit être NULL.

    • Le paramètre ssl_server_cert_dn doit être NULL.

    • Le paramètre private_target doit être TRUE.

  3. 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@PRIVATE_ENDPOINT_LINK;
    

Pour les données d'identification que vous créez à l'étape 1, les données d'identification Oracle 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;
/

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

Créer des liens de base de données à partir d'une base de données d'intelligence artificielle autonome vers des bases de données Oracle sur un point d'extrémité privé 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é privé.

Note : Cette option concerne les bases de données Oracle cibles pour lesquelles SSL/TCPS est configuré et qui se trouvent sur un point d'extrémité privé.

Si SSL/TCPS n'est pas configuré dans la base de données Oracle cible, vous disposez de deux options :

Effectuez les étapes préalables, au besoin. Pour plus de détails, voir Préalables pour les liens de base de données entre une base de données d'intelligence artificielle autonome et des bases de données Oracle sur un point d'extrémité privé.

Pour créer un lien de base de données vers une base de données Oracle cible sur un point d'extrémité privé à l'aide de l'authentification TCP/IP avec SSL (TCPS) :

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

    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 de la base de données Oracle 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 dans Autonomous AI Database pour le fichier de portefeuille cwallet.sso.

    Par exemple :

    CREATE DIRECTORY *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 de base de données cible dans le répertoire que vous avez créé à l'étape précédente, 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 => '*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.

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

  5. Dans la base de données d'intelligence artificielle autonome, créez des données d'identification pour accéder à la base de données cible. Les données d'identification username et password que vous spécifiez avec DBMS_CLOUD.CREATE_CREDENTIAL sont celles 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 du VCN).

    Note : La fourniture du paramètre credential_name est requise.

    Par 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 les données d'identification.

  6. 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 => 'PEDBLINK1',
         hostname => 'example1.adb.ap-osaka-1.oraclecloud.com',
         port => '1522',
         service_name => '*example_high.adb.oraclecloud.com*',
         ssl_server_cert_dn => '*ssl_server_cert_dn*',
         credential_name => 'DB_LINK_CRED',
         directory_name => '*WALLET_DIR*',
         private_target => TRUE);
     END;
     /
    

    Pour une cible sur un point d'extrémité privé, DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK prend en charge la spécification d'un nom d'hôte unique avec le paramètre hostname. 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_LINK prend 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_hostnames pour spécifier un ou plusieurs noms d'hôte avec DBMS_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 valeur rac_hostnames n'est pas prise en charge.

    Par exemple, avec une base de données Oracle RAC cible, utilisez le paramètre rac_hostnames :

     BEGIN
       DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
         db_link_name => 'PEDBLINK1',
         rac_hostnames => '["sales1-svr1.*example*.adb.us-ashburn-1.oraclecloud.com",
                            "sales1-svr2.*example*.adb.us-ashburn-1.oraclecloud.com",
                            "sales1-svr3.*example*.adb.us-ashburn-1.oraclecloud.com"]',
         port => '1522',
         service_name => '*example_high.adb.oraclecloud.com*',
         ssl_server_cert_dn => '*ssl_server_cert_dn*',
         credential_name => 'DB_LINK_CRED',
         directory_name => '*WALLET_DIR*',
         private_target => TRUE);
     END;
     /
    

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK ne prend pas en charge la valeur localhost pour hostname ou dans le paramètre rac_hostnames.

    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 que vous avez créé pour accéder aux données de la base de données cible.

    Par exemple :

    ``sql SELECT * FROM employees@PEDBLINK1;

Pour les données d'identification que vous créez à l'étape 5, les données d'identification Oracle 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;
/

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

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 :

Contenu connexe

Ensemble DBMS_CLOUD_ADMIN