Création de liens de base de données vers une base de données autre qu'Oracle AI avec la connectivité hétérogène gérée par Oracle

La prise en charge des bases de données d'IA autonomes pour la connectivité hétérogène gérée par Oracle facilite la création de liens de base de données vers des bases de données non Oracle.

Lorsque vous utilisez des liens de base de données avec une connectivité hétérogène gérée par Oracle, Autonomous AI Database configure et configure la connexion à la base de données non Oracle.

Remarque

Remarque : avec la connectivité hétérogène gérée par Oracle, la prise en charge concerne les connexions de requête uniquement sur la base de données distante. Autrement dit, les mises à jour ne sont pas prises en charge lors de l'utilisation de la connectivité hétérogène gérée par Oracle.

Les prérequis pour l'utilisation de la connectivité hétérogène gérée par Oracle avec Autonomous AI Database sont les suivants :

  • Lorsque la base de données cible se trouve sur une adresse publique, elle doit être configurée pour autoriser les connexions SSL/TLS entrantes avec des certificats signés par l'autorité de certification.

    La connectivité hétérogène gérée par Oracle prend en charge les connexions aux services de base de données cible sur les adresses privées (par exemple, vous pouvez vous connecter à Oracle MySQL Database Service lorsque le service se trouve sur une adresse privée). Lorsque vous vous connectez à une base de données non oracle avec une connectivité hétérogène gérée par Oracle sur une adresse privée, la connexion utilise le protocole TCP et ne nécessite pas que SSL/TLS soit configuré sur la base de données cible.

    Pour plus d'informations, reportez-vous à Création de liens de base de données vers Oracle MySQL sur une adresse privée avec une connectivité hétérogène gérée par Oracle.

  • Lorsque la base de données cible se trouve sur une adresse privée et est configurée pour appliquer des connexions basées sur SSL, utilisez le paramètre gateway_params appelé enable_ssl et définissez-le sur TRUE. Par exemple :

    gateway_params => JSON_OBJECT(
         'db_type' value 'snowflake',
         'enable_ssl' value true)

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

  • Lorsque la base de données cible se trouve sur une adresse privée et est configurée pour appliquer des connexions basées sur SSL, utilisez le paramètre gateway_params appelé enable_ssl et définissez-le sur True.

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

Pour créer des liens de base de données vers une base de données non Oracle à l'aide de la connectivité hétérogène gérée par Oracle, 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.

    Par exemple :

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

    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. Le paramètre credential_name est requis.

    Pour accéder à Google Analytics, Google BigQuery, Google Drive, Youtube, ServiceNow ou Microsoft SharePoint avec OAuth2, les informations d'identification doivent inclure le paramètre params avec la valeur gcp_oauth2.

    Par exemple :

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'SERVICENOW_OAUTH',
        params => JSON_OBJECT(
                     'gcp_oauth2' value JSON_OBJECT(
                            'client_id' value '*CLIENT_ID*',
                            'client_secret' value '*CLIENT_SECRET*',
                            'refresh_token' value '*Refresh_Token*')));
    END;
    /

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

  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, pour créer un lien de base de données vers AWS Redshift :

    BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
              db_link_name => 'AWSREDSHIFT_LINK',
              hostname => '*example.com*',
              port => 5439,
              service_name => '*example_service_name*',
              credential_name => 'AWS_REDSHIFT_LINK_CRED',
              gateway_params => JSON_OBJECT('db_type'  value 'awsredshift'),
              ssl_server_cert_dn => NULL);
    END;
    /

    service_name est le nom de la base de données non Oracle.

    La valeur gateway_params db_type que vous fournissez doit être l'une des valeurs prises en charge :

    Valeur db_type Type de base de données
    awsredshift Amazon Redshift
    azure

    Microsoft SQL Server

    Azure SQL

    Azure Synapse Analytics

    box Case
    cassandra Apache Cassandra
    databricks Databricks
    db2 IBM Db2
    google_analytics Google Analytics
    google_bigquery Google BigQuery
    google_drive Google Drive
    hive Apache Hive
    mongodb MongoDB
    mysql

    MySQL

    Le type de données VECTOR n'est pas pris en charge pour db_type=mysql. Pour plus d'informations, reportez-vous à Type de VECTOR.

    mysql_community MySQL Community Edition
    postgres PostgreSQL
    salesforce Salesforce
    servicenow ServiceNow
    sharepoint Microsoft SharePoint
    snowflake Flocon de neige
    youtube YouTube

    Autonomous AI Database configure et gère automatiquement la connexion sécurisée à une base de données cible, et vos connexions sont cryptées de bout en bout. La connectivité hétérogène gérée par Oracle est préconfigurée avec un portefeuille qui contient la plupart des certificats SSL racine et intermédiaires sécurisés courants. Par conséquent, NULL doit être fourni comme valeur pour le paramètre ssl_server_cert_dn.

    Pour garantir la sécurité lors de l'utilisation de liens de base de données avec une connectivité hétérogène gérée par Oracle, le port de connexion est restreint et SSL/TLS doit être activé. Vous indiquez le port de base de données cible avec le paramètre port.

    Pour obtenir la liste des types de base de données non Oracle pris en charge, reportez-vous à Ports et types de base de données de connectivité hétérogène gérés par Oracle.

    La vue HETEROGENEOUS_CONNECTIVITY_INFO fournit des informations sur les types de connectivité hétérogène Oracle pris en charge et affiche un exemple de code PL/SQL pour chaque type pris en charge. Pour plus d'informations, reportez-vous à Accès aux exemples et aux informations sur la connectivité hétérogène.

    Lorsque vous indiquez le paramètre gateway_params, pour certaines valeurs db_type, des paramètres gateway_params supplémentaires sont pris en charge :

    Valeur db_type Paramètres de passerelle pris en charge avec db_type spécifié
    azure

    Lorsque la valeur db_type est azure, il existe deux paramètres facultatifs, auth_method et domain, pour prendre en charge l'authentification NTLM/AD.

    Lorsque NTLMv2 est configuré, définissez auth_method=10 et domain sur la valeur de domaine Windows.

    Pour utiliser un mot de passe Azure Active Directory, définissez auth_method=13. N'utilisez pas auth_method=13 pour accéder à une base de données sur site Oracle.

    Pour plus d'informations, reportez-vous à Méthode d'authentification Microsoft SQL Server.

    google_analytics

    Lorsque la valeur db_type est google_analytics, hostname n'est pas utilisé et vous pouvez fournir une valeur telle que example.com.

    Pour db_type google_analytics, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètre params avec des valeurs gcp_oauth2 indiquées (client_id, client_secret et refresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

    google_bigquery

    Lorsque db_type est défini sur google_bigquery, le paramètre project est valide. Ce paramètre indique le nom du projet sur google_bigquery et est obligatoire.

    Lorsque la valeur db_type est google_bigquery, hostname n'est pas utilisé et vous pouvez fournir une valeur telle que example.com.

    Pour db_type google_bigquery, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètre params avec des valeurs gcp_oauth2 indiquées (client_id, client_secret et refresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

    google_drive

    Pour db_type google_drive, les informations d'identification que vous fournissez avec DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK doivent être des informations d'identification de type OAuth utilisant le paramètre params avec des valeurs gcp_oauth2 indiquées (client_id, client_secret et refresh_token).

    Pour vous connecter à Google Drive et obtenir des données, vous devez fournir les paramètres de passerelle directory_name et file_name. Ces paramètres spécifient un fichier de modèle (fichier REST automatique) qui met en correspondance la réponse JSON avec le modèle relationnel. Le fichier modèle indique les adresses, le mapping de table et le code de réponse HTTP pour le traitement de la réponse JSON. Pour plus d'informations, reportez-vous aux sections Syntaxe du fichier de modèle et Exemple de fichier de modèle.

    Lorsque vous utilisez le paramètre gateway_params avec db_type google_drive, vous devez fournir au paramètre gateway_params db_type la valeur 'google_drive', les paramètres directory_name et file_name, ainsi que les informations d'identification de type OAuth :

    Le paramètre directory_name indique le répertoire avec le fichier de configuration REST. Vous pouvez créer ce répertoire comme suit :

    create or replace directory google_drive_dir as 'GOOGLE_DRIVE_DIR';

    Obtenir et télécharger le fichier REST automatique dans le répertoire spécifié. Par exemple :

    exec DBMS_CLOUD.get_object('google_drive_dir_cred', 'https://objectstorage.<...>/google_drive.rest','GOOGLE_DRIVE_DIR');

    Définissez la valeur file_name sur le nom du fichier REST automatique que vous avez téléchargé, "google_drive.rest". Vous pouvez ensuite utiliser le fichier de configuration REST avec OAuth 2.0.

    hive Lorsque db_type est défini sur hive, le paramètre http_path est valide. Ce paramètre spécifie la valeur HttpPath, si nécessaire, pour la connexion à l'instance Hive.
    salesforce

    Lorsque vous utilisez le paramètre gateway_params avec db_type salesforce, vous devez fournir l'option security_token. Le jeton de sécurité est un code alphanumérique sensible à la casse.

    Pour plus d'informations, reportez-vous à Réinitialisation du jeton de sécurité.

    Lorsque vous utilisez le paramètre gateway_params avec db_type salesforce, vous devez fournir le paramètre hostname correct.

    Salesforce fournit deux formes d'URL pour le compte de service Salesforce :

    • xxxx.develop.lightning.force.com forme d'URL
    • Format d'URL xxxxmy.salesforce.com, comme indiqué dans l'onglet Visualiser le profil.

    La connectivité hétérogène gérée par Oracle prend uniquement en charge le format d'URL xxxxmy.salesforce.com pour la valeur de paramètre hostname.

    servicenow

    Pour vous connecter à ServiceNow et obtenir des données, vous devez fournir les paramètres de passerelle directory_name et file_name. Ces paramètres spécifient un fichier de modèle (fichier de configuration REST) qui met en correspondance la réponse JSON avec le modèle relationnel. Le fichier modèle indique les adresses, le mapping de table et le code de réponse HTTP pour le traitement de la réponse JSON. Pour plus d'informations, reportez-vous aux sections Syntaxe du fichier de modèle et Exemple de fichier de modèle.

    Lorsque vous utilisez le paramètre gateway_params avec db_type servicenow, deux options sont prises en charge :

    • Authentification de base : vous devez fournir le paramètre gateway_params db_type avec la valeur 'servicenow', et fournir les paramètres directory_name et file_name avec les informations d'identification de type nom utilisateur/mot de passe.

    • Authentification OAuth 2.0 : vous devez fournir le paramètre gateway_params db_type avec la valeur 'servicenow', les paramètres directory_name, file_name et token_uri, ainsi que les informations d'identification de type OAuth.

      Pour l'authentification OAuth 2.0 avec db_type servicenow, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètre params avec les valeurs gcp_oauth2 indiquées (client_id, client_secret et refresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

    Le paramètre directory_name indique le répertoire avec le fichier de configuration REST ServiceNow. Vous pouvez créer ce répertoire comme suit :

    create or replace directory servicenow_dir as 'SERVICENOW_DIR';

    Obtenez et téléchargez le fichier de configuration REST ServiceNow dans le répertoire indiqué. Par exemple :

    exec DBMS_CLOUD.get_object('servicenow_dir_cred', 'https://objectstorage.<...>/servicenow.rest','SERVICENOW_DIR');

    Définissez la valeur file_name sur le nom du fichier de configuration REST que vous avez téléchargé, "servicenow.rest".

    Vous pouvez ensuite utiliser le fichier de configuration REST ServiceNow avec l'authentification de base ou OAuth2.0. Pour obtenir des exemples, reportez-vous à Vue HETEROGENEOUS_CONNECTIVITY_INFO.

    sharepoint

    Lorsque vous utilisez le paramètre gateway_params avec db_type sharepoint, indiquez également des valeurs pour auth_uri, scope, service_url et token_uri.

    Pour db_type sharepoint, les informations d'identification que vous fournissez avec DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK doivent être des informations d'identification de type OAuth en utilisant le paramètre params avec des valeurs gcp_oauth2 indiquées (client_id, client_secret et refresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL. Générez le fichier refresh_token pour tenant_id.sharepoint.com/.default offline_access. Pour plus d'informations, reportez-vous aux sections suivantes : Déterminez la portée et Authentification OAuth 2.0.

    Définissez les valeurs pour gateway_params pour db_type sharepoint :

    snowflake

    Lorsque vous utilisez le paramètre gateway_params avec db_type snowflake, utilisez l'identificateur de compte Snowflake comme paramètre hostname. Dans ce cas, le pilote ajoute snowflakecomputing.com, de sorte que vous ne transmettez pas explicitement cette partie du nom d'hôte. Pour rechercher l'identifiant de votre compte Snowflake, reportez-vous à la rubrique Formats d'identifiant de compte par plate-forme et région cloud.

    Par exemple : pour le compte Snowflake :

    https://example-marketing_test_account.snowflakecomputing.com

    Définissez la valeur hostname sur "example-marketing_test_account".

    Lorsque db_type est défini sur snowflake, les paramètres facultatifs role, schema et warehouse sont valides. Ces valeurs indiquent une valeur de schéma, de rôle ou d'entrepôt différente de la valeur par défaut. Par exemple :

    gateway_params => JSON_OBJECT( 'db_type' value 'snowflake', 'role' value 'ADMIN', 'schema' value 'PUBLIC', 'warehouse' value 'TEST' )

    Pour l'authentification Snowflake KeyPair, définissez auth_type sur keypair. Avant de créer le lien de base de données, créez un objet répertoire et ajoutez le fichier de clés privées Snowflake à ce répertoire. La clé privée doit être configurée pour le même utilisateur Snowflake que vous indiquez dans les informations d'identification. Pour plus d'informations sur la configuration de l'authentification par paire de clés Snowflake, reportez-vous à Authentification par paire de clés Snowflake.

    Indiquez directory_name et file_name dans gateway_params. La valeur directory_name identifie l'objet de répertoire qui contient le fichier de clés privées Snowflake, et file_name identifie le nom du fichier de clés privées. Si la clé privée est cryptée avec une phrase de passe, indiquez le paramètre passphrase.

    youtube

    Pour vous connecter à YouTube et obtenir des données, vous devez fournir les paramètres directory_name et file_name. Ces paramètres spécifient un fichier de modèle (fichier de configuration REST) qui met en correspondance la réponse JSON avec le modèle relationnel. Le fichier modèle indique les adresses, le mapping de table et le code de réponse HTTP pour le traitement de la réponse JSON. Pour plus d'informations, reportez-vous aux sections Syntaxe du fichier de modèle et Exemple de fichier de modèle.

    Pour db_type youtube, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètre params avec des valeurs gcp_oauth2 indiquées (client_id, client_secret et refresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

    Le paramètre directory_name indique le répertoire avec le fichier de configuration REST de YouTube.

    Par exemple, pour créer ce répertoire et ajouter le contenu requis :

    1. Créez un répertoire sur l'instance de base de données Autonomous AI :

      create or replace directory youtube_dir as 'YOUTUBE_DIR';
    2. Obtenez et téléchargez le fichier de configuration REST de redémarrage automatique dans le répertoire spécifié. Par exemple :

      exec DBMS_CLOUD.get_object('youtube_dir_cred', 'https://objectstorage.<...>/youtube.rest','YOUTUBE_DIR');
    3. Définissez la valeur file_name sur le nom du fichier de configuration REST que vous avez téléchargé, 'youtube.rest'.

    Vous pouvez ensuite utiliser le fichier de configuration REST avec OAuth2.0. Pour obtenir des exemples, reportez-vous à Vue HETEROGENEOUS_CONNECTIVITY_INFO.

    box

    Pour vous connecter à Box et obtenir des données, vous devez fournir les paramètres directory_name et file_name. Ces paramètres spécifient un fichier de modèle (fichier de configuration REST) qui met en correspondance la réponse JSON avec le modèle relationnel. Le fichier modèle indique les adresses, le mapping de table et le code de réponse HTTP pour le traitement de la réponse JSON. Pour plus d'informations, reportez-vous aux sections Syntaxe du fichier de modèle et Exemple de fichier de modèle.

    Pour db_type box, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètre params avec des valeurs gcp_oauth2 indiquées (client_id, client_secret et refresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

    Le paramètre directory_name indique le répertoire avec le fichier de configuration REST de la zone.

    Par exemple, pour créer ce répertoire et ajouter le contenu requis :

    1. Créez un répertoire sur l'instance de base de données Autonomous AI :

      create or replace directory box_dir as 'BOX_DIR';
    2. Obtenez et téléchargez le fichier de configuration REST de redémarrage automatique dans le répertoire spécifié. Par exemple :

      exec DBMS_CLOUD.get_object('box_dir_cred', 'https://objectstorage.<...>/box.rest','BOX_DIR');
    3. Définissez la valeur file_name sur le nom du fichier de configuration REST que vous avez téléchargé, 'box.rest'.

    Vous pouvez ensuite utiliser le fichier de configuration REST avec OAuth2.0. Pour obtenir des exemples, reportez-vous à Vue HETEROGENEOUS_CONNECTIVITY_INFO.

    databricks

    Pour vous connecter à Databricks et obtenir des données, vous devez fournir les paramètres directory_name et file_name. Ces paramètres spécifient un fichier de modèle (fichier de configuration REST) qui met en correspondance la réponse JSON avec le modèle relationnel. Le fichier modèle indique les adresses, le mapping de table et le code de réponse HTTP pour le traitement de la réponse JSON. Pour plus d'informations, reportez-vous aux sections Syntaxe du fichier de modèle et Exemple de fichier de modèle.

    Pour db_type box, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètre params avec des valeurs gcp_oauth2 indiquées (client_id, client_secret et refresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

    Le paramètre directory_name indique le répertoire avec le fichier de configuration REST de la zone.

    Par exemple, pour créer ce répertoire et ajouter le contenu requis :

    1. Créez un répertoire sur l'instance de base de données Autonomous AI :

      create or replace directory databricks_dir as 'BOX_DIR';
    2. Obtenez et téléchargez le fichier de configuration REST de redémarrage automatique dans le répertoire spécifié. Par exemple :

      exec DBMS_CLOUD.get_object('databricks_dir_cred', 'https://objectstorage.<...>/databricks.rest','DATABRICKS_DIR');
    3. Définissez la valeur file_name sur le nom du fichier de configuration REST que vous avez téléchargé, 'databricks.rest'.

      Vous pouvez ensuite utiliser le fichier de configuration REST avec OAuth2.0. Pour obtenir des exemples, reportez-vous à Vue HETEROGENEOUS_CONNECTIVITY_INFO.

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

    1. Utilisez le lien de base de données pour accéder aux données de la base cible. Par exemple :

      SELECT count(*) FROM sales@AWSREDSHIFT_LINK

      Le nom de table que vous indiquez dans une instruction SELECT doit être correctement placé entre guillemets en tant qu'identificateur, ce qui s'applique à Google BigQuery, MySQL et PostgreSQL. Par exemple :

      SELECT count(*) FROM "sales"@GOOGLE_BIGQUERY_LINK
      Remarque

      Remarque :

      Pour les informations d'identification que vous créez à l'étape 1, les informations d'identification de base de données cible, 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 => 'AWS_REDSHIFT_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, voir :

Pour créer un lien de base de données vers Snowflake à l'aide de l'authentification KeyPair :

  1. Créez un objet répertoire pour stocker le fichier de clés privées Snowflake :

    CREATE OR REPLACE DIRECTORY <DIRECTORY_OBJECT_NAME> AS '<DIR_NAME>';
  2. Créez un fichier contenant la clé privée Snowflake et ajoutez-le à l'objet répertoire.

    La clé privée doit être configurée pour le même utilisateur Snowflake que vous indiquez dans les informations d'identification.

    Convertissez la clé privée existante au format PKCS#8 chiffré à l'aide de l'algorithme PBE-SHA1-3DES. Par exemple :

    openssl pkcs8 -topk8 -v1 PBE-SHA1-3DES -in rsa_key.p8 -out compatible_key.p8

    Lorsque vous créez le lien de base de données, utilisez la clé privée convertie ainsi que la clé publique correspondante configurée pour l'utilisateur Snowflake.

    Pour plus d'informations sur la configuration de l'authentification par paire de clés Snowflake, reportez-vous à Authentification par paire de clés Snowflake.

  3. Créez des informations d'identification pour l'utilisateur Snowflake :

    Créez des informations d'identification pour l'authentification Snowflake KeyPair :

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'SNOWFLAKE_KEYPAIR_CRED',
        username        => 'SNOWFLAKE_USER',
        password        => 'dummy_password');
    END;
    /

    La valeur username doit être le même utilisateur Snowflake pour lequel la paire de clés a été configurée. La valeur de mot de passe n'est pas utilisée pour l'authentification KeyPair, mais vous devez indiquer une valeur lorsque vous créez les informations d'identification.

  4. Créez le lien de base de données avec les paramètres d'authentification Snowflake KeyPair :

    BEGIN
      DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
        db_link_name      => '<DBLINK_NAME>',
        hostname          => '<ACCOUNT_NAME>',
        port              => '443',
        service_name      => 'SNOWFLAKE_SAMPLE_DATA',
        ssl_server_cert_dn => 'CN=gateway',
        credential_name   => '<CRED_NAME>',
        gateway_params    => JSON_OBJECT(
                               'db_type'        VALUE 'snowflake',
                               'directory_name' VALUE '<DIRECTORY_OBJECT_NAME>',
                               'file_name'      VALUE '<PRIVATE_KEY_FILE_NAME>',
                               'auth_type'      VALUE 'keypair',
                               'passphrase'     VALUE '<PASSPHRASE>'));
    END;
    /

    Le paramètre passphrase est requis uniquement lorsque la clé privée est cryptée avec une phrase de passe.

  5. Utilisez le lien de base de données pour accéder aux données de la base cible.

Création de liens de base de données vers Oracle MySQL sur une adresse privée avec une connectivité hétérogène gérée par Oracle

La prise en charge de la base de données d'IA autonome pour la connectivité hétérogène gérée par Oracle facilite la création de liens de base de données vers Oracle MySQL Database Service sur une adresse privée. Lorsque vous utilisez des liens de base de données avec une connectivité hétérogène gérée par Oracle, Autonomous AI Database configure et configure la connexion à Oracle MySQL Database Service.

Les prérequis suivants permettent d'utiliser une connectivité hétérogène gérée par Oracle avec Oracle MySQL Database Service sur une adresse privée :

  • Créez un nom DNS à l'aide d'une zone DNS privée pointant vers une adresse IP privée de votre instance Oracle MySQL Database Service dans votre VCN. Reportez-vous à DNS privé.

  • Créez une base de données Autonomous AI avec une adresse privée sur le même sous-réseau.

  • Configurez le VCN pour Oracle MySQL Database Service afin d'autoriser les connexions entrantes sur le port 3306.

    Pour créer des liens de base de données vers une instance Oracle MySQL Database Service sur une adresse privée à l'aide de la connectivité hétérogène gérée par Oracle, procédez comme suit :

    1. Sur Autonomous AI Database, créez des informations d'identification pour accéder à Oracle MySQL Database Service. username et password que vous indiquez avec DBMS_CLOUD.CREATE_CREDENTIAL sont les informations d'identification pour Oracle MySQL Database Service utilisées dans le lien de base de données.

      Remarque

      Remarque : vous devez indiquer le paramètre credential_name.

      Par exemple :

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

      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 Oracle MySQL Database Service à l'aide de la commande DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

      Pour créer un lien de base de données, par exemple :

      BEGIN
           DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
                db_link_name => 'MYSQL_LINK',
                hostname => '*mysql.example.com*',
                port => '3306',
                service_name => '*mysql.example_service_name*',
                ssl_server_cert_dn => NULL,
                credential_name => 'MYSQL_LINK_CRED',
                private_target => TRUE,
                gateway_params => JSON_OBJECT('db_type' value 'mysql'));
      END;
      /
    3. Utilisez le lien de base de données pour accéder aux données de la base cible.

      Par exemple :

      SELECT count(*) FROM sales@MYSQL_LINK
      Remarque

      Remarque :

      Pour les informations d'identification que vous créez à l'étape 1, les informations d'identification de base de données cible, 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 => 'MYSQL_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, voir :

Ports et types de base de données de connectivité hétérogène gérés par Oracle

Affiche les bases de données non Oracle auxquelles vous pouvez vous connecter à partir d'une base de données Autonomous AI avec une connectivité hétérogène gérée par Oracle, et répertorie la valeur de port prise en charge pour chaque type de base de données. Fournit également un lien permettant de voir les versions de base de données prises en charge pour chaque type de base de données.

Remarque

Remarque : Oracle utilise des connecteurs Progress DataDirect. La colonne Support de base de données fournit des liens vers le site Web Progress où vous pouvez trouver les versions de base de données prises en charge pour chaque type de base de données.

Type de base de données Valeur db_type Port requis Prise en charge des bases de données
Amazon Redshift awsredshift 5 439 Versions prises en charge par Amazon Redshift

Azure SQL

Microsoft SQL Server

Azure Synapse Analytics

azure 1 433

Versions prises en charge par Azure SQL

Versions prises en charge par Azure Synapse Analytics

Apache Cassandra cassandra 9 042 Versions prises en charge par Cassandra
Apache Hive hive 443 Versions prises en charge par Hive
Google Analytics google_analytics 443 Versions prises en charge par Google Analytics
Google BigQuery google_bigquery 443 Versions prises en charge par Google BigQuery
Google Drive google_drive 443 Versions prises en charge par Google Drive
Apache Hive hive 443 Versions prises en charge par Hive

IBM Db2 11.5.6 ou version ultérieure

IBM Db2 11.5.5 ou moins

db2

25 000

50 000

Versions d'IBM Db2 prises en charge
Microsoft SharePoint sharepoint 443 Versions prises en charge par Microsoft SharePoint
MongoDB mongodb 27 017 Versions prises en charge par MongoDB
MySQL mysql 3 306 Versions prises en charge par MySQL
MySQL Community Edition mysql_community 3 306  
PostgreSQL postgres 5 432 Versions prises en charge par PostgreSQL
Salesforce salesforce 19 937 Versions prises en charge par Salesforce
ServiceNow servicenow 443 Versions prises en charge par ServiceNow
Flocon de neige snowflake 443 Versions prises en charge par le flocon de neige
YouTube youtube 443 Versions prises en charge par Youtube
Case box 443 Versions prises en charge par VirtualBox
Databricks databricks 443 Versions et compatibilité des notes de version d'exécution de Databricks

Accéder à des informations et exemples de connectivité hétérogènes

Oracle Autonomous AI Database fournit des informations de connectivité hétérogènes pour les liens de base de données vers des bases de données non Oracle.

La vue HETEROGENEOUS_CONNECTIVITY_INFO fournit des informations sur les types de connectivité hétérogène Oracle pris en charge et affiche un exemple de code PL/SQL pour chaque type pris en charge.

Par exemple :

SELECT * FROM HETEROGENEOUS_CONNECTIVITY_INFO WHERE DATABASE_TYPE = 'hive';

HETEROGENEOUS_CONNECTIVITY_INFO Vue

La vue HETEROGENEOUS_CONNECTIVITY_INFO répertorie les informations de connectivité et des exemples de connexion à PL/SQL à l'aide de liens de base de données et de la connectivité hétérogène gérée par Oracle.

Colonne Type de données Description
DATABASE_TYPE VARCHAR2(32) Valeur de type de base de données utilisée avec le paramètre gateway_params.
REQUIRED_PORT NUMBER Valeurs de port prises en charge pour le type de base de données.
DESCRIPTION CLOB Spécifie une description pour DATABASE_TYPE.
OPTIONAL_PARAMETERS VARCHAR2(1024) Spécifie les paramètres facultatifs valides pour DATABASE_TYPE.
SAMPLE_USAGE CLOB Affiche un exemple d'utilisation de PL/SQL pour DATABASE_TYPE.