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_paramsappeléenable_sslet définissez-le surTRUE. 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_paramsappeléenable_sslet 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 :
-
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
usernameetpasswordque vous indiquez avecDBMS_CLOUD.CREATE_CREDENTIALsont 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_nameest 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
paramsavec la valeurgcp_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.
-
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_nameest le nom de la base de données non Oracle.La valeur
gateway_params db_typeque vous fournissez doit être l'une des valeurs prises en charge :Valeur db_type Type de base de données awsredshiftAmazon Redshift azureMicrosoft SQL Server
Azure SQL
Azure Synapse Analytics
boxCase cassandraApache Cassandra databricksDatabricks db2IBM Db2 google_analyticsGoogle Analytics google_bigqueryGoogle BigQuery google_driveGoogle Drive hiveApache Hive mongodbMongoDB mysqlMySQL
Le type de données
VECTORn'est pas pris en charge pourdb_type=mysql. Pour plus d'informations, reportez-vous à Type de VECTOR.mysql_communityMySQL Community Edition postgresPostgreSQL salesforceSalesforce servicenowServiceNow sharepointMicrosoft SharePoint snowflakeFlocon de neige youtubeYouTube 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,
NULLdoit être fourni comme valeur pour le paramètressl_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_INFOfournit 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 valeursdb_type, des paramètresgateway_paramssupplémentaires sont pris en charge :Valeur db_typeParamètres de passerelle pris en charge avec db_type spécifié azureLorsque la valeur
db_typeestazure, il existe deux paramètres facultatifs,auth_methodetdomain, pour prendre en charge l'authentification NTLM/AD.Lorsque NTLMv2 est configuré, définissez
auth_method=10etdomainsur la valeur de domaine Windows.Pour utiliser un mot de passe Azure Active Directory, définissez
auth_method=13. N'utilisez pasauth_method=13pour accéder à une base de données sur site Oracle.Pour plus d'informations, reportez-vous à Méthode d'authentification Microsoft SQL Server.
google_analyticsLorsque la valeur
db_typeestgoogle_analytics,hostnamen'est pas utilisé et vous pouvez fournir une valeur telle queexample.com.Pour
db_typegoogle_analytics, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètreparamsavec des valeursgcp_oauth2indiquées (client_id,client_secretetrefresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.google_bigqueryLorsque
db_typeest défini surgoogle_bigquery, le paramètreprojectest valide. Ce paramètre indique le nom du projet surgoogle_bigqueryet est obligatoire.Lorsque la valeur
db_typeestgoogle_bigquery,hostnamen'est pas utilisé et vous pouvez fournir une valeur telle queexample.com.Pour
db_typegoogle_bigquery, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètreparamsavec des valeursgcp_oauth2indiquées (client_id,client_secretetrefresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.google_drivePour
db_typegoogle_drive, les informations d'identification que vous fournissez avecDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKdoivent être des informations d'identification de type OAuth utilisant le paramètreparamsavec des valeursgcp_oauth2indiquées (client_id,client_secretetrefresh_token).Pour vous connecter à Google Drive et obtenir des données, vous devez fournir les paramètres de passerelle
directory_nameetfile_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_paramsavecdb_typegoogle_drive, vous devez fournir au paramètregateway_paramsdb_typela valeur'google_drive', les paramètresdirectory_nameetfile_name, ainsi que les informations d'identification de type OAuth :Le paramètre
directory_nameindique 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_namesur 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.hiveLorsque db_typeest défini surhive, le paramètrehttp_pathest valide. Ce paramètre spécifie la valeur HttpPath, si nécessaire, pour la connexion à l'instance Hive.salesforceLorsque vous utilisez le paramètre
gateway_paramsavecdb_typesalesforce, vous devez fournir l'optionsecurity_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_paramsavecdb_typesalesforce, vous devez fournir le paramètrehostnamecorrect.Salesforce fournit deux formes d'URL pour le compte de service Salesforce :
xxxx.develop.lightning.force.comforme 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.compour la valeur de paramètrehostname.servicenowPour vous connecter à ServiceNow et obtenir des données, vous devez fournir les paramètres de passerelle
directory_nameetfile_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_paramsavecdb_typeservicenow, deux options sont prises en charge :Authentification de base : vous devez fournir le paramètre
gateway_paramsdb_typeavec la valeur'servicenow', et fournir les paramètresdirectory_nameetfile_nameavec les informations d'identification de type nom utilisateur/mot de passe.Authentification OAuth 2.0 : vous devez fournir le paramètre
gateway_paramsdb_typeavec la valeur'servicenow', les paramètresdirectory_name,file_nameettoken_uri, ainsi que les informations d'identification de type OAuth.Pour l'authentification OAuth 2.0 avec
db_typeservicenow, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètreparamsavec les valeursgcp_oauth2indiquées (client_id,client_secretetrefresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.
Le paramètre
directory_nameindique 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_namesur 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.
sharepointLorsque vous utilisez le paramètre
gateway_paramsavecdb_typesharepoint, indiquez également des valeurs pourauth_uri,scope,service_urlettoken_uri.Pour
db_typesharepoint, les informations d'identification que vous fournissez avecDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKdoivent être des informations d'identification de type OAuth en utilisant le paramètreparamsavec des valeursgcp_oauth2indiquées (client_id,client_secretetrefresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL. Générez le fichierrefresh_tokenpour tenant_id.sharepoint.com/.defaultoffline_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_paramspourdb_typesharepoint:auth_uri: définissezauth_urià partir d'Azure. Pour plus d'informations, reportez-vous à Obtention des informations et des adresses du client d'application.scope: définissez la portée. Pour plus d'informations, reportez-vous à Descriptions des options de connexion.service_url: définissezservice_url. Pour plus d'informations, reportez-vous à URL de service.token_uri: obteneztoken_urià partir d'Azure. Pour plus d'informations, reportez-vous à Obtention des informations et des adresses du client d'application.
snowflakeLorsque vous utilisez le paramètre
gateway_paramsavecdb_typesnowflake, utilisez l'identificateur de compte Snowflake comme paramètrehostname. Dans ce cas, le pilote ajoutesnowflakecomputing.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.comDéfinissez la valeur
hostnamesur"example-marketing_test_account".Lorsque
db_typeest défini sursnowflake, les paramètres facultatifsrole,schemaetwarehousesont 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_typesurkeypair. 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_nameetfile_namedansgateway_params. La valeurdirectory_nameidentifie l'objet de répertoire qui contient le fichier de clés privées Snowflake, etfile_nameidentifie 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ètrepassphrase.youtubePour vous connecter à YouTube et obtenir des données, vous devez fournir les paramètres
directory_nameetfile_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_typeyoutube, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètreparamsavec des valeursgcp_oauth2indiquées (client_id,client_secretetrefresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.Le paramètre
directory_nameindique le répertoire avec le fichier de configuration REST de YouTube.Par exemple, pour créer ce répertoire et ajouter le contenu requis :
Créez un répertoire sur l'instance de base de données Autonomous AI :
create or replace directory youtube_dir as 'YOUTUBE_DIR';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');Définissez la valeur
file_namesur 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.
boxPour vous connecter à Box et obtenir des données, vous devez fournir les paramètres
directory_nameetfile_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_typebox, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètreparamsavec des valeursgcp_oauth2indiquées (client_id,client_secretetrefresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.Le paramètre
directory_nameindique 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 :
Créez un répertoire sur l'instance de base de données Autonomous AI :
create or replace directory box_dir as 'BOX_DIR';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');Définissez la valeur
file_namesur 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.
databricksPour vous connecter à Databricks et obtenir des données, vous devez fournir les paramètres
directory_nameetfile_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_typebox, les informations d'identification doivent être des informations d'identification de type OAuth utilisant le paramètreparamsavec des valeursgcp_oauth2indiquées (client_id,client_secretetrefresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.Le paramètre
directory_nameindique 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 :
Créez un répertoire sur l'instance de base de données Autonomous AI :
create or replace directory databricks_dir as 'BOX_DIR';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');Définissez la valeur
file_namesur 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.
-
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_LINKLe nom de table que vous indiquez dans une instruction
SELECTdoit ê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_LINKRemarque
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; /Où 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 :
-
Supported SQL Syntax and Functions dans le Guide de l'utilisateur Oracle AI Database Gateway for ODBC
-
Création d'un lien de base de données vers Snowflake à l'aide de l'authentification KeyPair
Pour créer un lien de base de données vers Snowflake à l'aide de l'authentification KeyPair :
-
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>'; -
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.p8Lorsque 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.
-
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
usernamedoit ê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. -
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
passphraseest requis uniquement lorsque la clé privée est cryptée avec une phrase de passe. -
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 :
-
Sur Autonomous AI Database, créez des informations d'identification pour accéder à Oracle MySQL Database Service.
usernameetpasswordque vous indiquez avecDBMS_CLOUD.CREATE_CREDENTIALsont 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ètrecredential_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.
-
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; / -
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_LINKRemarque
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; /Où 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 :
-
Supported SQL Syntax and Functions dans le Guide de l'utilisateur Oracle AI Database Gateway for ODBC
-
-
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.
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. |