Création de liens de base de données TLS d'une instance Autonomous Database vers une autre instance Autonomous Database

Vous pouvez créer des liens de base de données TLS d'Autonomous Database on Dedicated Exadata Infrastructure vers une instance Autonomous Database cible située sur une adresse publique.

Rubriques connexes

Création de liens de base de données TLS unidirectionnels d'une instance Autonomous Database vers une autre instance Autonomous Database

Vous pouvez créer des liens de base de données TLS unidirectionnels à partir d'une instance Autonomous Database on Dedicated Exadata Infrastructure vers une instance Autonomous Database accessible publiquement.

Pour créer des liens de base de données vers une cible publique, la base de données cible doit être accessible. Certaines bases de données, y compris les instances Autonomous Database, peuvent disposer d'un accès limité (par exemple, à l'aide de listes de contrôle d'accès). Veillez à permettre à la base de données cible d'autoriser l'accès à partir de la base de données source afin que le lien de base de données fonctionne. Si vous limitez l'accès à l'aide de listes de contrôle d'accès, vous pouvez rechercher l'adresse IP sortante de votre instance Autonomous Database source et autoriser cette adresse IP à se connecter à votre base de données cible. Lorsque la base de données cible est une autre instance Autonomous Database, vous pouvez ajouter l'adresse IP sortante de la base de données source à la liste de contrôle d'accès de la base de données cible.

Pour plus d'informations sur la recherche de l'adresse IP sortante, reportez-vous à Obtention des détails de location.

Pour créer un lien de base de données vers une instance Autonomous Database cible sans portefeuille (TLS), procédez comme suit :

  1. Assurez-vous que les connexions TLS unidirectionnelles sont activées.

    Par défaut, les connexions TLS unidirectionnelles sont activées lorsque vous provisionnez un composant AVMC. Pour plus d'informations, reportez-vous à Création d'un cluster de machines virtuelles Exadata Autonomous.

    Remarques :

    Dans une instance Autonomous Database on Dedicated Exadata Infrastructure, les connexions sans portefeuille fonctionnent pour TLS unidirectionnel en installant un certificat SSL personnalisé émis par une autorité de certification publique. Pour plus de détails, reportez-vous à Préparation pour les connexions sans portefeuille TLS.
  2. Sur l'instance Autonomous Database sur laquelle vous créez le lien de base de données, créez des informations d'identification permettant d'accéder à l'instance Autonomous Database cible. Les valeurs username et password que vous indiquez avec DBMS_CLOUD.CREATE_CREDENTIAL correspondent aux informations d'identification de la base de données cible (vous les utilisez pour créer le lien de base de données).

    Remarques :

    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.

  3. Créer un lien de base de données vers l'instance Autonomous Database cible à l'aide de DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Exemple :

    BEGIN
        DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
            db_link_name => 'SALESLINK', 
            hostname => 'adb.eu-frankfurt-1.oraclecloud.com', 
            port => '2484',
            service_name => 'example_medium.atpc.example.oraclecloud.com',
            credential_name => 'DB_LINK_CRED',
            directory_name => NULL);
    END;
    /

    Pour créer un lien de base de données avec DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK vers une instance Autonomous Database cible sur une adresse publique à l'aide d'une connexion TCP sécurisée sans portefeuille, le paramètre directory_name doit être NULL.

    La valeur du paramètre port doit être définie sur 2484 pour les connexions TLS. Toutefois, si un numéro de port de processus d'écoute SCAN différent a été choisi lors du provisionnement de la console AVMC, vous devez utiliser ce numéro de port. Pour plus d'informations, reportez-vous à Création d'un cluster de machines virtuelles Exadata Autonomous.

    Le paramètre ssl_server_cert_dn peut être omis ou, s'il est inclus, indiquez une valeur NULL.

    Les utilisateurs autres que l'utilisateur ADMIN nécessitent des privilèges pour exécuter DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

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

    Exemple :

    SELECT * FROM employees@SALESLINK;
                

Pour les informations d'identification que vous créez à l'étape 1, les informations d'identification de la base de données cible, si le mot de passe de l'utilisateur cible est modifié, vous pouvez mettre à jour les informations d'identification qui contiennent celles de l'utilisateur cible comme suit :

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

password est le 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 que vous deviez supprimer et créer à nouveau les liens de base de données.

Pour plus d'informations, voir :

Création de liens de base de données mTLS d'une instance Autonomous Database vers une autre instance Autonomous Database

Vous pouvez créer des liens de base de données mTLS d'Autonomous Database on Dedicated Exadata Infrastructure vers une instance Autonomous Database accessible publiquement.

Pour créer des liens de base de données vers une cible publique, la base de données cible doit être accessible. Certaines bases de données, y compris les instances Autonomous Database, peuvent disposer d'un accès limité (par exemple, à l'aide de listes de contrôle d'accès). Veillez à permettre à la base de données cible d'autoriser l'accès à partir de la base de données source afin que le lien de base de données fonctionne. Si vous limitez l'accès à l'aide de listes de contrôle d'accès, vous pouvez rechercher l'adresse IP sortante de votre instance Autonomous Database source et autoriser cette adresse IP à se connecter à votre base de données cible. Par exemple, si la base de données cible est une autre instance Autonomous Database, vous pouvez ajouter l'adresse IP sortante de la base de données source à la liste de contrôle d'accès de la base de données cible.

Pour plus d'informations sur la recherche de l'adresse IP sortante, reportez-vous à Obtention des détails de location.

Pour créer des liens de base de données vers une instance Autonomous Database cible avec un portefeuille (mTLS), procédez comme suit :

  1. Assurez-vous que les connexions mTLS sont activées.

    Par défaut, les connexions TLS unidirectionnelles sont activées pour une instance AVMC. Vous pouvez activer l'authentification TLS mutuelle (mTLS) en cochant la case Activer l'authentification TLS mutuelle (mTLS) lors du provisionnement d'AVMC. Pour plus d'informations, reportez-vous à Création d'un cluster de machines virtuelles Exadata Autonomous.

  2. Copiez le portefeuille de la base de données cible, cwallet.sso, contenant les certificats de la base de données cible dans la banque 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 l'instance Oracle Database cible. Stockez 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 Object Storage doit être nommé cwallet.sso.

  3. Créez des informations d'identification permettant d'accéder à la banque d'objets dans laquelle vous stockez le fichier de portefeuille cwallet.sso. Reportez-vous à Procédure CREATE_CREDENTIAL pour plus d'informations sur les paramètres de nom utilisateur et de mot de passe des différents services de stockage d'objet.
  4. Créez un répertoire sur Autonomous Database pour le fichier de portefeuille cwallet.sso.

    Exemple :

    CREATE DIRECTORY dblink_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 Autonomous Database.

  5. Utilisez DBMS_CLOUD.GET_OBJECT afin de télécharger le portefeuille de la base de données cible vers le répertoire 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 de stockage d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

  6. Sur l'instance Autonomous Database, créez des informations d'identification permettant d'accéder à la base de données cible. Les valeurs username et password que vous indiquez avec DBMS_CLOUD.CREATE_CREDENTIAL correspondent aux informations d'identification de la base de données cible que vous utilisez pour créer le lien de base de données.

    Remarques :

    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.

  7. 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 => 'SALESLINK',
            hostname => 'adb.eu-frankfurt-1.oraclecloud.com', 
            port => '2484',
            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 que l'utilisateur ADMIN nécessitent des privilèges pour exécuter DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    La valeur du paramètre port doit être définie sur 2484 pour les connexions TLS. Toutefois, si un numéro de port de processus d'écoute SCAN différent a été choisi lors du provisionnement de la console AVMC, vous devez utiliser ce numéro de port. Pour plus d'informations, reportez-vous à Création d'un cluster de machines virtuelles Exadata Autonomous.

    Si le fichier de portefeuille dans le répertoire indiqué avec directory_name n'est pas cwallet.sso, la procédure signale une erreur telle que : ORA-28759: failure to open file.

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

    Exemple :

    SELECT * FROM employees@SALESLINK;
                

Pour les informations d'identification que vous créez à l'étape 5, les informations d'identification de la base de données cible, si le mot de passe de l'utilisateur cible est modifié, vous pouvez mettre à jour les informations d'identification qui contiennent celles de l'utilisateur cible comme suit :

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

password est le 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 que vous deviez supprimer et créer à nouveau les liens de base de données.

Pour plus d'informations, voir :

Remarques relatives aux liens de base de données avec une cible qui est une instance Autonomous Database

Fournit des remarques sur la création de liens de base de données vers une cible autre qu'Autonomous Database.

Remarques relatives aux liens de base de données vers une autre instance Autonomous Database :

  • Un seul fichier de portefeuille est valide par répertoire pour utilisation avec les liens de base de données. Vous ne pouvez télécharger qu'un seul fichier cwallet.sso à la fois vers le répertoire choisi pour les fichiers de portefeuille (par exemple, DBLINK_WALLET_DIR). Ainsi, avec un fichier cwallet.sso dans 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 fichiers cwallet.sso avec des liens de base de données, vous devez créer des répertoires supplémentaires et placer chaque fichier cwallet.sso dans un répertoire différent. Lorsque vous créez des liens de base de données avec DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK, indiquez le répertoire qui contient le portefeuille avec le paramètre directory_name.

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

  • Pour répertorier les liens de base de données, utilisez la vue ALL_DB_LINKS. Pour plus d'informations, reportez-vous à ALL_DB_LINKS dans Référence de base de données Oracle Database 19c ou Référence de base de données Oracle Database 23ai.

  • 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 l'instance Autonomous Database cible. Stockez les fichiers de portefeuille dans un emplacement sécurisé. Partagez les fichiers de portefeuille uniquement avec les utilisateurs autorisés.

  • L'entrée DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK doit mentionner le nom d'analyse de l'instance Autonomous Database dédiée cible en tant que paramètre de nom d'hôte.