Création de liens de base de données à partir d'une base de données Autonomous AI vers une base de données Oracle Database sur une adresse privée

Vous pouvez créer des liens de base de données à partir d'une base de données Autonomous AI vers une base de données Oracle Database cible qui se trouve sur une adresse privée.

Remarque : les liens de base de données d'une base de données Oracle vers une base de données cible située sur une adresse privée 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 fonctionnalité est activée par défaut dans les régions du gouvernement des Etats-Unis pour les bases de données nouvellement provisionnées. Pour les bases de données US Government existantes sur une adresse privée, si vous voulez créer des liens de base de données à partir d'une base de données Autonomous AI vers une cible dans une région US Government, vous pouvez déposer une demande de service sur le support technique Oracle Cloud et demander d'activer l'adresse privée dans la fonctionnalité de liaison de base de données des régions gouvernementales. Les régions du gouvernement des États-Unis sont les suivantes :

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

Prérequis pour les liens de base de données d'une base de données Autonomous AI vers des bases de données Oracle sur une adresse privée

Répertorie les prérequis pour créer des liens de base de données à partir d'une base de données Autonomous AI vers une base de données Oracle cible située sur une adresse privée.

Pour créer un lien de base de données vers une base de données Oracle cible sur une adresse privée, procédez comme suit :

Création de liens de base de données vers des bases de données Oracle sur une adresse privée 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 Autonomous AI vers une base de données Oracle cible qui se trouve sur une adresse privée et se connecter sans portefeuille (TCP).

Remarque : cette option concerne les bases de données Oracle cible qui se trouvent sur une adresse privée et qui n'ont pas de SSL/TCPS configuré.

Effectuez les étapes prérequises, le cas échéant. Pour plus de détails, reportez-vous aux prérequis pour les liens de base de données d'une base de données Autonomous AI vers des bases de données Oracle sur une adresse privée.

Pour créer un lien de base de données vers une base de données cible sur une adresse privée à l'aide d'une connexion TCP sécurisée sans portefeuille, procédez comme suit :

  1. Sur la base de données Autonomous AI, créez des informations d'identification pour accéder à la base de données cible. Les informations d'identification username et password que vous indiquez 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 via le VCN).

    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 en majuscules.

    Cette opération stocke les informations d'identification dans la base de données dans un format crypté. Vous pouvez utiliser n'importe quel nom d'informations 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.

    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 une adresse privée, 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 une adresse privée, 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 une adresse publique, 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 indiquer des 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 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 indiqué 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 une adresse privée à l'aide d'une connexion TCP sécurisée sans portefeuille, 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 cible.

    Exemple :

     SELECT * FROM employees@PRIVATE_ENDPOINT_LINK;
    

Pour les informations d'identification que vous créez à l'étape 1, les informations d'identification Oracle Database, si le mot de passe de l'utilisateur cible change, vous pouvez mettre à jour les informations d'identification qui contiennent les informations d'identification de l'utilisateur cible comme suit :

BEGIN
  DBMS_CLOUD.UPDATE_CREDENTIAL (
    credential_name => 'DB_LINK_CRED',
    attribute => 'PASSWORD',
    value => '*password*');
END;
/

password correspond au nouveau mot de passe.

Après cette opération, les liens de base de données existants qui utilisent ces informations d'identification continuent de fonctionner sans avoir à supprimer ni à recréer les liens de base de données.

Pour plus d'informations, reportez-vous à Procédure CREATE_DATABASE_LINK.

Création de liens de base de données d'une base de données Autonomous AI vers des bases de données Oracle sur une adresse privée avec un portefeuille (mTLS)

Vous pouvez créer des liens de base de données à partir d'une base de données Autonomous AI vers une base de données Oracle cible qui se trouve sur une adresse privée.

Remarque : cette option concerne les bases de données Oracle cible pour lesquelles SSL/TCPS est configuré et qui se trouvent sur une adresse privée.

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

Effectuez les étapes prérequises, le cas échéant. Pour plus de détails, reportez-vous aux prérequis pour les liens de base de données d'une base de données Autonomous AI vers des bases de données Oracle sur une adresse privée.

Pour créer un lien de base de données vers une base de données Oracle cible sur une adresse privée à l'aide de l'authentification TCP/IP avec SSL (TCPS), procédez comme suit :

  1. Copiez le portefeuille de base de données cible, cwallet.sso, contenant les certificats de la base de données cible vers la banque d'objets.

    Remarque : le fichier de portefeuille, avec l'ID utilisateur et le mot de passe de la base de données, permet d'accéder aux données de la base de données Oracle cible. Stockez les fichiers de portefeuille dans un emplacement sécurisé. Partagez les fichiers de portefeuille uniquement avec les utilisateurs autorisés.

  2. Créez des informations d'identification pour accéder à la banque d'objets dans laquelle stocker le fichier cwallet.sso. Pour plus d'informations sur les paramètres de nom utilisateur et de mot de passe des différents services de stockage d'objets, reportez-vous à Procédure CREATE_CREDENTIAL.

  3. Créez un répertoire sur la base de données Autonomous AI pour le fichier de portefeuille cwallet.sso.

    Exemple :

    CREATE DIRECTORY *wallet_dir* AS '*directory_path_of_your_choice*';
    

    Pour plus d'informations sur la création de répertoires, reportez-vous à Création d'un répertoire dans la base de données Autonomous AI.

  4. Utilisez DBMS_CLOUD.GET_OBJECT pour télécharger le portefeuille de base de données cible vers le répertoire que vous avez créé à l'étape précédente, 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 => '*WALLET_DIR*');
     END;
     /
    

    Dans cet exemple, *namespace-string* est l'espace de noms Oracle Cloud Infrastructure Object Storage et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

    Remarque : le fichier credential_name que vous utilisez dans cette étape correspond aux informations d'identification de la banque d'objets. A l'étape suivante, vous allez créer les informations d'identification permettant d'accéder à la base de données cible.

  5. Sur la base de données Autonomous AI, créez des informations d'identification pour accéder à la base de données cible. Les informations d'identification username et password que vous indiquez 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 via le VCN).

    Remarque : vous devez indiquer le paramètre credential_name.

    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 en majuscules.

    Cette opération stocke les informations d'identification dans la base de données dans un format crypté. Vous pouvez utiliser n'importe quel nom d'informations 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.

    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 une adresse privée, 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 une adresse privée, 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 une adresse publique, 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 indiquer des 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 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 cible.

    Exemple :

    ```sql SELECT * FROM employees@PEDBLINK1 ;

Pour les informations d'identification que vous créez à l'étape 5, les informations d'identification Oracle Database, si le mot de passe de l'utilisateur cible change, vous pouvez mettre à jour les informations d'identification qui contiennent les informations d'identification de l'utilisateur cible comme suit :

BEGIN
  DBMS_CLOUD.UPDATE_CREDENTIAL (
    credential_name => 'DB_LINK_CRED',
    attribute => 'PASSWORD',
    value => '*password*');
END;
/

password correspond au nouveau mot de passe.

Après cette opération, les liens de base de données existants qui utilisent ces informations d'identification continuent de fonctionner sans avoir à supprimer ni à recréer les liens de base de données.

Pour plus d'informations, reportez-vous à Procédure CREATE_DATABASE_LINK.

Remarques sur les liens de base de données avec une cible Oracle Database

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 Autonomous AI)

Remarques concernant les liens de base de données vers d'autres bases Oracle :

Contenu connexe

Package DBMS_CLOUD_ADMIN