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 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 passerelle Oracle Database Gateway pour accéder aux bases de données non Oracle qui se trouvent sur un point d'extrémité privé.

This section covers the steps for using database links to connect from Autonomous AI Database to a non-Oracle Database that through an Oracle Database Gateway, where the non-Oracle Database is on a private endpoint.

Préalables pour 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 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 avec connectivité hétérogène gérée par le client vers des bases de données non Oracle qui se trouvent sur un point d'extrémité privé.

Pour créer un lien 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 qui se trouvent sur un point d'extrémité privé :

  • La base de données cible doit être accessible à partir du VCN Oracle Cloud Infrastructure de la base de données source. Par exemple, vous pouvez vous connecter à la base de données cible lorsque :

    • La base de données cible se trouve sur un point d'extrémité privé.

    • La base de données source et la base de données cible se trouvent toutes les deux dans le même VCN Oracle Cloud Infrastructure.

    • La base de données source et la base de données cible se trouvent dans différents réseaux en nuage virtuels Oracle Cloud Infrastructure qui sont appariés.

    • 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).

  • Les règles de trafic entrant et sortant suivantes doivent être définies pour le point d'extrémité privé :

    • Définissez une règle de trafic sortant dans la liste de sécurité du sous-réseau ou le groupe de sécurité de réseau de la base de données source afin que le trafic sur TCP soit autorisé vers l'adresse IP et le numéro de port de la base de données cible.

    • Définissez une règle de trafic entrant dans la liste de sécurité du sous-réseau ou le groupe de sécurité de réseau de la base de données cible afin que le trafic sur TCP soit autorisé entre l'adresse IP de la base de données source et le port de destination.

    Voir Configurer l'accès réseau à l'aide de points d'extrémité privés pour plus d'informations sur la configuration de points d'extrémité privés avec des règles de trafic entrant et sortant.

Note

Lorsque votre instance de base de données d'intelligence artificielle autonome est configurée avec un point d'extrémité privé, réglez le paramètre de base de données ROUTE_OUTBOUND_CONNECTIONS à 'PRIVATE_ENDPOINT' pour spécifier que tous les liens de base de données sortants sont soumis aux règles de trafic sortant du point d'extrémité privé du VCN de l'instance de base de données d'intelligence artificielle autonome. Pour plus d'informations, voir Sécurité améliorée pour les connexions sortantes à l'aide de points d'extrémité privés.

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 sur un point d'extrémité privé (sans portefeuille)

Vous pouvez créer des liens de base de données à partir d'une instance de base de données du service d'intelligence artificielle autonome vers une passerelle Oracle Database Gateway pour accéder aux bases de données non Oracle qui se trouvent sur un point d'extrémité privé, en se connectant à un portefeuille (TCPS) ou sans portefeuille (TLS).

Pour créer des liens de base de données à partir d'une instance de base de données du service d'intelligence artificielle autonome sur un point d'extrémité privé vers Oracle Database Gateway cible, en vous connectant sans portefeuille (TLS) :

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

    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.

  2. Créez le lien de base de données vers 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 =>      NULL,
              gateway_link =>        TRUE,
              private_target =>      TRUE,
              gateway_params =>      NULL);
    END;
    /

    Le paramètre ssl_server_cert_dn est facultatif si la connexion est créée en tant que lien de base de données basé sur TCP (sans portefeuille).

    Lorsque directory_name a la valeur NULL, la connexion est créée en tant que lien de base de données basé sur TCP (sans portefeuille).

    Le paramètre private_target doit être réglé à TRUE lorsque la base de données non Oracle Database cible se trouve sur un point d'extrémité privé (c'est-à-dire que le lien de base de données accède à un nom d'hôte qui doit être résolu dans un serveur DNS du VCN). Lorsque private_target a la valeur TRUE, le paramètre hostname doit être un nom d'hôte unique (sur un point d'extrémité privé, à l'aide d'une adresse IP, d'une adresse IP SCAN ou d'un nom d'hôte SCAN n'est pas pris en charge).

    Lorsque gateway_link est TRUE et gateway_params est NULL, cela spécifie que le lien de base de données est vers une passerelle Oracle gérée par le client.

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

  3. Utilisez le lien de base de données que vous avez créé 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 1, 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.

Pour plus d'informations, voir :

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 sur un point d'extrémité privé (avec un portefeuille)

Vous pouvez créer des liens de base de données à partir d'une instance de base de données du service d'intelligence artificielle autonome vers une passerelle Oracle Database Gateway pour accéder aux bases de données non Oracle qui se trouvent sur un point d'extrémité privé, en se connectant à un portefeuille (TCPS) ou sans portefeuille (TLS).

Pour créer des liens de base de données à partir d'une instance de base de données du service d'intelligence artificielle autonome sur un point d'extrémité privé vers Oracle Database Gateway cible, et vous connecter sans portefeuille :

  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.

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

    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.

    Note

    La valeur credential_name que vous utilisez à cette étape est les 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. 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. 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 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).

    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 le lien de base de données vers 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,
              private_target =>      TRUE,
              gateway_params =>      NULL);
    END;
    /

    Si directory_name n'est pas NULL, un lien de base de données basé sur TCPS est créé.

    Le paramètre private_target doit être réglé à TRUE lorsque la base de données non Oracle Database cible se trouve sur un point d'extrémité privé (c'est-à-dire que le lien de base de données accède à un nom d'hôte qui doit être résolu dans un serveur DNS du VCN). Lorsque private_target a la valeur TRUE, le paramètre hostname doit être un nom d'hôte unique (sur un point d'extrémité privé, à l'aide d'une adresse IP, d'une adresse IP SCAN ou d'un nom d'hôte SCAN n'est pas pris en charge).

    Lorsque gateway_link est TRUE et gateway_params est NULL, cela spécifie que le lien de base de données est vers une passerelle Oracle gérée par le client.

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

Pour plus d'informations, voir :