Create Database Links to Non-Oracle AI Databases with Oracle-Managed Heterogeneous Connectivity

O suporte ao Autonomous AI Database para conectividade heterogênea gerenciada pela Oracle facilita a criação de links de banco de dados para bancos de dados não Oracle.

Quando você usa links de banco de dados com conectividade heterogênea gerenciada pela Oracle, o Autonomous AI Database configura e configura a conexão com o banco de dados não Oracle.

Observação

Observação: Com a conectividade heterogênea gerenciada pela Oracle, o suporte é para conexões somente para consulta no banco de dados remoto. Ou seja, as atualizações não são suportadas ao usar a conectividade heterogênea gerenciada pela Oracle.

Estes são os pré-requisitos para usar a conectividade heterogênea gerenciada pela Oracle com o Autonomous AI Database:

  • Quando o banco de dados de destino estiver em um ponto final público, o banco de dados deverá ser configurado para permitir conexões SSL/TLS de entrada com certificados assinados pela CA.

    A conectividade heterogênea gerenciada pela Oracle suporta conexões com serviços de banco de dados de destino em pontos finais privados (por exemplo, você pode estabelecer conexão com o Oracle MySQL Database Service quando o serviço estiver em um ponto final privado). Quando você se conecta a um banco de dados não oracle com conectividade heterogênea gerenciada pela Oracle em um ponto final privado, a conexão usa o protocolo TCP e não requer que SSL/TLS seja configurado no banco de dados de destino.

    Consulte Criar Links de Banco de Dados para o Oracle MySQL em um Ponto Final Privado com Conectividade Heterogênea Gerenciada pela Oracle para obter mais informações.

  • Quando o banco de dados de destino estiver no ponto final privado e configurado para impor conexões baseadas em SSL, use o parâmetro gateway_params chamado enable_ssl e defina-o como TRUE. Por exemplo:

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

    Consulte Procedimento CREATE_DATABASE_LINK para obter mais informações.

  • Quando o banco de dados de destino estiver no ponto final privado e configurado para impor conexões baseadas em SSL, use o parâmetro gateway_params chamado enable_ssl e defina-o como verdadeiro.

    Consulte Procedimento CREATE_DATABASE_LINK para obter mais informações.

Para criar links de banco de dados para um banco de dados não Oracle usando conectividade heterogênea gerenciada pela Oracle, faça o seguinte:

  1. No Autonomous AI Database, crie credenciais para acessar o banco de dados de destino. As credenciais username e password especificadas com DBMS_CLOUD.CREATE_CREDENTIAL são as credenciais do banco de dados de destino usado no link do banco de dados.

    Por exemplo:

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

    Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial. É necessário fornecer o parâmetro credential_name.

    Para acessar o Google Analytics, o Google BigQuery, o Google Drive, o Youtube, o ServiceNow ou o Microsoft SharePoint com OAuth2, a credencial deve incluir o parâmetro params com o valor gcp_oauth2.

    Por exemplo:

    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;
    /

    Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.

  2. Crie o link do banco de dados para o banco de dados de destino usando DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Por exemplo, para criar um link de banco de dados para o 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;
    /

    O service_name é o nome do banco de dados não Oracle.

    O valor gateway_params db_type que você fornece deve ser um dos valores suportados:

    Valor db_type Tipo de Banco de Dados
    awsredshift Amazon Redshift
    azure

    Microsoft SQL Server

    SQL do Azure

    Azure Synapse Analytics

    box Quadro
    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

    O tipo de dados VECTOR não é suportado para db_type=mysql. Consulte O Tipo de VECTOR para obter mais informações.

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

    O Autonomous AI Database configura e trata automaticamente a conexão segura com um banco de dados de destino e suas conexões são criptografadas de ponta a ponta. A conectividade heterogênea gerenciada pela Oracle é pré-configurada com uma wallet que contém a maioria dos certificados SSL raiz e intermediários confiáveis comuns. Portanto, NULL deve ser fornecido como o valor do parâmetro ssl_server_cert_dn.

    Para garantir a segurança ao usar links de banco de dados com conectividade heterogênea gerenciada pela Oracle, a porta de conexão é restrita e deve ter SSL/TLS ativado. Você especifica a porta do banco de dados de destino com o parâmetro port.

    Consulte Tipos e Portas de Banco de Dados de Conectividade Heterogênea Gerenciada pela Oracle para obter a lista de tipos de banco de dados não Oracle suportados.

    A view HETEROGENEOUS_CONNECTIVITY_INFO fornece informações sobre os tipos de Conectividade Heterogênea do Oracle suportados e mostra uma amostra de código PL/SQL para cada tipo suportado. Consulte Acessar Informações e Amostras de Conectividade Heterogênea para obter mais informações.

    Quando você especifica o parâmetro gateway_params, para alguns valores db_type, são suportados parâmetros gateway_params adicionais:

    Valor db_type Parâmetros de Gateway Suportados com db_type Especificado
    azure

    Quando o valor db_type é azure, há dois parâmetros opcionais, auth_method e domain para suportar a autenticação NTLM/AD.

    Quando NTLMv2 estiver configurado, defina auth_method=10 e domain como o valor de domínio do Windows.

    Para usar uma senha do Azure Active Directory, defina auth_method=13. Não use auth_method=13 para acessar um Banco de Dados Oracle on-premises.

    Consulte Método de Autenticação do Microsoft SQL Server para obter mais informações.

    google_analytics

    Quando o valor db_type é google_analytics, o hostname não é usado e você pode fornecer um valor como example.com.

    Para db_type google_analytics, a credencial deve ser do tipo OAuth usando o parâmetro params com valores gcp_oauth2 especificados (client_id, client_secret e refresh_token). Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.

    google_bigquery

    Quando db_type é google_bigquery, o parâmetro project é válido. Este parâmetro especifica o nome do projeto no google_bigquery e é obrigatório.

    Quando o valor db_type é google_bigquery, o hostname não é usado e você pode fornecer um valor como example.com.

    Para db_type google_bigquery, a credencial deve ser do tipo OAuth usando o parâmetro params com valores gcp_oauth2 especificados (client_id, client_secret e refresh_token). Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.

    google_drive

    Para db_type google_drive, a credencial fornecida com DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK deve ser um tipo de credencial OAuth usando o parâmetro params com valores de gcp_oauth2 especificados (client_id, client_secret e refresh_token).

    Para se conectar ao Google Drive e obter dados, você deve fornecer os parâmetros de gateway directory_name e file_name. Esses parâmetros especificam um arquivo de modelo (arquivo REST automático) que mapeia a resposta JSON para o modelo relacional. O arquivo de modelo especifica os pontos finais, o mapeamento de tabela e o código de resposta HTTP para processar a resposta JSON. Consulte Sintaxe de arquivo de modelo e Arquivo de modelo de exemplo para obter mais informações.

    Ao usar o parâmetro gateway_params com db_type google_drive, você deve fornecer o parâmetro gateway_params db_type com o valor 'google_drive' e os parâmetros directory_name e file_name, juntamente com as credenciais do tipo OAuth:

    O parâmetro directory_name especifica o diretório com o arquivo de configuração REST. Você poderia criar esse diretório da seguinte forma:

    create or replace directory google_drive_dir as 'GOOGLE_DRIVE_DIR';

    Obtenha e faça download do arquivo REST automático para o diretório especificado. Por exemplo:

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

    Defina o valor file_name como o nome do arquivo REST automático que você baixou, "google_drive.rest". Em seguida, você pode usar o arquivo de configuração REST com o OAuth 2.0.

    hive Quando db_type é hive, o parâmetro http_path é válido. Este parâmetro especifica o valor HttpPath, se necessário, para estabelecer conexão com a instância do Hive.
    salesforce

    Ao usar o parâmetro gateway_params com db_type salesforce, você deve fornecer a opção security_token. O token de segurança é um código alfanumérico que distingue maiúsculas de minúsculas.

    Consulte Redefinir Seu Token de Segurança para obter mais informações.

    Ao usar o parâmetro gateway_params com db_type salesforce, você deve fornecer o parâmetro hostname correto.

    O Salesforce fornece duas formas de URLs para a conta de serviço do Salesforce:

    • Formulário xxxx.develop.lightning.force.com do URL
    • Form xxxxmy.salesforce.com de URL, conforme mostrado na guia de perfil Exibir.

    A Conectividade Heterogênea Gerenciada pela Oracle só suporta o form xxxxmy.salesforce.com do URL para o valor do parâmetro hostname.

    servicenow

    Para se conectar ao ServiceNow e obter dados, você deve fornecer os parâmetros do gateway directory_name e file_name. Esses parâmetros especificam um arquivo de modelo (arquivo de configuração REST) que mapeia a resposta JSON para o modelo relacional. O arquivo de modelo especifica os pontos finais, o mapeamento de tabela e o código de resposta HTTP para processar a resposta JSON. Consulte Sintaxe de arquivo de modelo e Arquivo de modelo de exemplo para obter mais informações.

    Quando você usa o parâmetro gateway_params com db_type servicenow, há duas opções suportadas:

    • Autenticação Básica: você deve fornecer o parâmetro gateway_params db_type com o valor 'servicenow' e fornecer os parâmetros directory_name e file_name juntamente com as credenciais do tipo de nome de usuário/senha.

    • Autenticação OAuth 2.0: você deve fornecer o parâmetro gateway_params db_type com o valor 'servicenow' e os parâmetros directory_name, file_name e token_uri, juntamente com as credenciais do tipo OAuth.

      Para autenticação do OAuth 2.0 com db_type servicenow, a credencial deve ser do tipo OAuth usando o parâmetro params com valores gcp_oauth2 especificados (client_id, client_secret e refresh_token). Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.

    O parâmetro directory_name especifica o diretório com o arquivo de configuração REST ServiceNow. Você poderia criar esse diretório da seguinte forma:

    create or replace directory servicenow_dir as 'SERVICENOW_DIR';

    Obtenha e faça download do arquivo de configuração REST ServiceNow para o diretório especificado. Por exemplo:

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

    Defina o valor file_name como o nome do arquivo de configuração REST que você baixou, "servicenow.rest".

    Em seguida, você pode usar o arquivo de configuração REST do ServiceNow com autenticação básica ou OAuth2.0. Consulte View HETEROGENEOUS_CONNECTIVITY_INFO para obter amostras.

    sharepoint

    Ao usar o parâmetro gateway_params com db_type sharepoint, também especifique valores para auth_uri, scope, service_url e token_uri.

    Para db_type sharepoint, a credencial fornecida com o DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK deve ser do tipo OAuth usando o parâmetro params com valores gcp_oauth2 especificados (client_id, client_secret e refresh_token). Consulte Procedimento CREATE_CREDENTIAL para obter mais informações. Gere o refresh_token para tenant_id.sharepoint.com/.default offline_access. Consulte o seguinte para obter mais informações: Determinar o escopo e autenticação do OAuth 2.0.

    Defina valores para gateway_params para db_type sharepoint:

    snowflake

    Quando você usar o parâmetro gateway_params com db_type snowflake, use o identificador de conta Snowflake como o parâmetro hostname. Nesse caso, o driver adiciona snowflakecomputing.com, para que você não passe essa parte do nome do host explicitamente. Para localizar o identificador da sua conta do Snowflake, consulte Formatos de Identificador de Conta por Plataforma e Região da Nuvem.

    Por exemplo: para a conta Snowflake:

    https://example-marketing_test_account.snowflakecomputing.com

    Defina o valor hostname como "example-marketing_test_account".

    Quando a db_type é snowflake, os parâmetros opcionais role, schema e warehouse são válidos. Esses valores especificam um esquema, atribuição ou valor de depósito diferente do padrão. Por exemplo:

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

    Para autenticação Snowflake KeyPair, defina auth_type como keypair. Antes de criar o link de banco de dados, crie um objeto de diretório e adicione o arquivo de chave privada do Snowflake a esse diretório. A chave privada deve ser configurada para o mesmo usuário do Snowflake que você especificar na credencial. Para obter informações sobre como configurar a autenticação de par de chaves do Snowflake, consulte Autenticação de Par de Chaves do Snowflake.

    Especifique directory_name e file_name no gateway_params. O valor directory_name identifica o objeto de diretório que contém o arquivo de chave privada do Snowflake e file_name identifica o nome do arquivo de chave privada. Se a chave privada for criptografada com uma frase-senha, especifique o parâmetro passphrase.

    youtube

    Para se conectar ao YouTube e obter dados, você deve fornecer os parâmetros directory_name e file_name. Esses parâmetros especificam um arquivo de modelo (arquivo de configuração REST) que mapeia a resposta JSON para o modelo relacional. O arquivo de modelo especifica os pontos finais, o mapeamento de tabela e o código de resposta HTTP para processar a resposta JSON. Consulte Sintaxe de arquivo de modelo e Arquivo de modelo de exemplo para obter mais informações.

    Para db_type youtube, a credencial deve ser do tipo OAuth usando o parâmetro params com valores gcp_oauth2 especificados (client_id, client_secret e refresh_token). Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.

    O parâmetro directory_name especifica o diretório com o arquivo de configuração REST do youtube.

    Por exemplo, para criar este diretório e adicionar o conteúdo necessário:

    1. Crie um diretório na instância do Autonomous AI Database:

      create or replace directory youtube_dir as 'YOUTUBE_DIR';
    2. Obtenha e faça download do arquivo de configuração REST de descanso automático para o diretório especificado. Por exemplo:

      exec DBMS_CLOUD.get_object('youtube_dir_cred', 'https://objectstorage.<...>/youtube.rest','YOUTUBE_DIR');
    3. Defina o valor file_name como o nome do arquivo de configuração REST que você baixou, 'youtube.rest'.

    Em seguida, você pode usar o arquivo de configuração REST com o OAuth2.0. Consulte View HETEROGENEOUS_CONNECTIVITY_INFO para obter amostras.

    box

    Para se conectar ao Box e obter dados, você deve fornecer os parâmetros directory_name e file_name. Esses parâmetros especificam um arquivo de modelo (arquivo de configuração REST) que mapeia a resposta JSON para o modelo relacional. O arquivo de modelo especifica os pontos finais, o mapeamento de tabela e o código de resposta HTTP para processar a resposta JSON. Consulte Sintaxe de arquivo de modelo e Arquivo de modelo de exemplo para obter mais informações.

    Para db_type box, a credencial deve ser do tipo OAuth usando o parâmetro params com valores gcp_oauth2 especificados (client_id, client_secret e refresh_token). Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.

    O parâmetro directory_name especifica o diretório com o arquivo de configuração REST de caixa.

    Por exemplo, para criar este diretório e adicionar o conteúdo necessário:

    1. Crie um diretório na instância do Autonomous AI Database:

      create or replace directory box_dir as 'BOX_DIR';
    2. Obtenha e faça download do arquivo de configuração REST de descanso automático para o diretório especificado. Por exemplo:

      exec DBMS_CLOUD.get_object('box_dir_cred', 'https://objectstorage.<...>/box.rest','BOX_DIR');
    3. Defina o valor file_name como o nome do arquivo de configuração REST que você baixou, 'box.rest'.

    Em seguida, você pode usar o arquivo de configuração REST com o OAuth2.0. Consulte View HETEROGENEOUS_CONNECTIVITY_INFO para obter amostras.

    databricks

    Para se conectar ao Databricks e obter dados, você deve fornecer os parâmetros directory_name e file_name. Esses parâmetros especificam um arquivo de modelo (arquivo de configuração REST) que mapeia a resposta JSON para o modelo relacional. O arquivo de modelo especifica os pontos finais, o mapeamento de tabela e o código de resposta HTTP para processar a resposta JSON. Consulte Sintaxe de arquivo de modelo e Arquivo de modelo de exemplo para obter mais informações.

    Para db_type box, a credencial deve ser do tipo OAuth usando o parâmetro params com valores gcp_oauth2 especificados (client_id, client_secret e refresh_token). Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.

    O parâmetro directory_name especifica o diretório com o arquivo de configuração REST de caixa.

    Por exemplo, para criar este diretório e adicionar o conteúdo necessário:

    1. Crie um diretório na instância do Autonomous AI Database:

      create or replace directory databricks_dir as 'BOX_DIR';
    2. Obtenha e faça download do arquivo de configuração REST de descanso automático para o diretório especificado. Por exemplo:

      exec DBMS_CLOUD.get_object('databricks_dir_cred', 'https://objectstorage.<...>/databricks.rest','DATABRICKS_DIR');
    3. Defina o valor file_name como o nome do arquivo de configuração REST que você baixou, 'databricks.rest'.

      Em seguida, você pode usar o arquivo de configuração REST com o OAuth2.0. Consulte View HETEROGENEOUS_CONNECTIVITY_INFO para obter amostras.

    Consulte Procedimento CREATE_DATABASE_LINK para obter mais informações.

    1. Use o link de banco de dados para acessar dados no banco de dados de destino. Por exemplo:

      SELECT count(*) FROM sales@AWSREDSHIFT_LINK

      O nome da tabela especificado em uma instrução SELECT deve ser devidamente citado como um identificador. Isso se aplica ao Google BigQuery, MySQL e PostgreSQL. Por exemplo:

      SELECT count(*) FROM "sales"@GOOGLE_BIGQUERY_LINK
      Observação

      Observação:

      Para as credenciais criadas na Etapa 1, as credenciais do banco de dados de destino, se a senha do usuário de destino for alterada, você poderá atualizar a credencial que contém as credenciais do usuário de destino da seguinte forma:

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

      Em que password é a senha nova.

      Após essa operação, os links de banco de dados existentes que usam essa credencial continuam funcionando sem precisar eliminar e recriar os links de banco de dados.

      Para obter informações adicionais, consulte:

Para criar um link de banco de dados para o Snowflake usando a autenticação KeyPair:

  1. Crie um objeto de diretório para armazenar o arquivo de chaves privadas do Snowflake:

    CREATE OR REPLACE DIRECTORY <DIRECTORY_OBJECT_NAME> AS '<DIR_NAME>';
  2. Crie um arquivo que contenha a chave privada Snowflake e adicione-o ao objeto de diretório.

    A chave privada deve ser configurada para o mesmo usuário do Snowflake que você especificar na credencial.

    Converta a chave privada existente para o formato PKCS#8 criptografado usando o algoritmo PBE-SHA1-3DES. Por exemplo:

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

    Use a chave privada convertida, juntamente com sua chave pública correspondente configurada para o usuário do Snowflake, ao criar o link de banco de dados.

    Para obter informações sobre como configurar a autenticação de par de chaves do Snowflake, consulte Autenticação de Par de Chaves do Snowflake.

  3. Crie uma credencial para o usuário do Snowflake:

    Crie uma credencial para autenticação do Snowflake KeyPair:

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

    O valor username deve ser o mesmo usuário do Snowflake para o qual o par de chaves foi configurado. O valor da senha não é usado para autenticação KeyPair, mas você deve especificar um valor ao criar a credencial.

  4. Crie o link de banco de dados com os parâmetros de autenticação 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;
    /

    O parâmetro passphrase só é necessário quando a chave privada é criptografada com uma frase-senha.

  5. Use o link de banco de dados para acessar dados no banco de dados de destino.

Criar Links de Banco de Dados para o Oracle MySQL em um Ponto Final Privado com Conectividade Heterogênea Gerenciada pela Oracle

O suporte ao Autonomous AI Database para conectividade heterogênea gerenciada pela Oracle facilita a criação de links de banco de dados para o Oracle MySQL Database Service em um ponto final privado. Quando você usa links de banco de dados com conectividade heterogênea gerenciada pela Oracle, o Autonomous AI Database configura e configura a conexão com o Oracle MySQL Database Service.

Estes são os pré-requisitos para usar a conectividade heterogênea gerenciada pela Oracle com o Oracle MySQL Database Service em um ponto final privado:

  • Crie um nome DNS usando uma Zona DNS privada apontando para o IP privado do seu Oracle MySQL Database Service na sua VCN. Consulte DNS Privado.

  • Crie um Autonomous AI Database com um Ponto Final Privado na mesma sub-rede.

  • Configure a VCN do Oracle MySQL Database Service para permitir conexões de entrada na porta 3306.

    Para criar links de banco de dados para um Oracle MySQL Database Service em um ponto final privado usando conectividade heterogênea gerenciada pela Oracle, faça o seguinte:

    1. No Autonomous AI Database, crie credenciais para acessar o Oracle MySQL Database Service. As credenciais username e password especificadas com DBMS_CLOUD.CREATE_CREDENTIAL são as credenciais do Oracle MySQL Database Service usadas no link de banco de dados.

      Observação

      Observação: é necessário fornecer o parâmetro credential_name.

      Por exemplo:

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

      Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial.

    2. Crie o link de banco de dados para o Oracle MySQL Database Service usando DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

      Por exemplo, para criar um link de banco de dados:

      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. Use o link de banco de dados para acessar dados no banco de dados de destino.

      Por exemplo:

      SELECT count(*) FROM sales@MYSQL_LINK
      Observação

      Observação:

      Para as credenciais criadas na Etapa 1, as credenciais do banco de dados de destino, se a senha do usuário de destino for alterada, você poderá atualizar a credencial que contém as credenciais do usuário de destino da seguinte forma:

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

      Em que password é a senha nova.

      Após essa operação, os links de banco de dados existentes que usam essa credencial continuam funcionando sem precisar eliminar e recriar os links de banco de dados.

      Para obter informações adicionais, consulte:

Portas e Tipos de Banco de Dados de Conectividade Heterogênea Gerenciados pela Oracle

Mostra os bancos de dados não Oracle com os quais você pode se conectar do Autonomous AI Database com conectividade heterogênea gerenciada pela Oracle e lista o valor de porta suportado para cada tipo de banco de dados. Também fornece um link no qual você pode ver as versões de banco de dados suportadas para cada tipo de banco de dados.

Observação

Observação: O sistema Oracle usa conectores Progress DataDirect. A coluna Suporte ao Banco de Dados fornece links para o site do Progress, onde você pode encontrar as versões de banco de dados suportadas para cada tipo de banco de dados.

Tipo de Banco de Dados Valor db_type Porta Obrigatória Suporte ao Banco de Dados
Amazon Redshift awsredshift 5.439 Versões compatíveis com o Amazon Redshift

SQL do Azure

Microsoft SQL Server

Azure Synapse Analytics

azure 1.433

Versões Compatíveis com SQL do Azure

Versões Suportadas do Azure Synapse Analytics

Apache Cassandra cassandra 9.042 Versões Suportadas pelo Cassandra
Apache Hive hive 443 Versões Suportadas pelo Hive
Google Analytics google_analytics 443 Versões compatíveis com o Google Analytics
Google BigQuery google_bigquery 443 Versões Suportadas do Google BigQuery
Google Drive google_drive 443 Versões suportadas do Google Drive
Apache Hive hive 443 Versões Suportadas pelo Hive

IBM Db2 11.5.6 ou superior

IBM Db2 11.5.5 ou menos

db2

25.000

50.000

Versões Suportadas pelo IBM Db2
Microsoft SharePoint sharepoint 443 Versões Suportadas do Microsoft SharePoint
MongoDB mongodb 27.017 Versões Suportadas pelo MongoDB
MySQL mysql 3.306 Versões Suportadas pelo MySQL
MySQL Community Edition mysql_community 3.306  
PostgreSQL postgres 5.432 Versões suportadas do PostgreSQL
Salesforce salesforce 19.937 Versões Suportadas pelo Salesforce
ServiceNow servicenow 443 Versões Suportadas do ServiceNow
Snowflake snowflake 443 Versões suportadas do Snowflake
Youtube youtube 443 Versões suportadas do Youtube
Quadro box 443 Versões Suportadas pelo VirtualBox
Databricks databricks 443 Versões e compatibilidade das notas da release do Databricks Runtime

Acessar informações e amostras de conectividade heterogênea

O Oracle Autonomous AI Database fornece informações de conectividade heterogêneas para links de banco de dados com bancos de dados não Oracle.

A view HETEROGENEOUS_CONNECTIVITY_INFO fornece informações sobre os tipos de Conectividade Heterogênea do Oracle suportados e mostra uma amostra de código PL/SQL para cada tipo suportado.

Por exemplo:

SELECT * FROM HETEROGENEOUS_CONNECTIVITY_INFO WHERE DATABASE_TYPE = 'hive';

HETEROGENEOUS_CONNECTIVITY_INFO Exibição

A view HETEROGENEOUS_CONNECTIVITY_INFO lista informações e exemplos de conectividade para estabelecer conexão com o PL/SQL usando links de banco de dados e Conectividade Heterogênea Gerenciada Oracle.

Coluna Tipo de Dados Descrição
DATABASE_TYPE VARCHAR2(32) Valor do tipo de banco de dados usado com o parâmetro gateway_params.
REQUIRED_PORT NUMBER Valores de porta suportados para o tipo de banco de dados.
DESCRIPTION CLOB Especifica uma descrição para o DATABASE_TYPE.
OPTIONAL_PARAMETERS VARCHAR2(1024) Especifica os parâmetros opcionais válidos para o DATABASE_TYPE.
SAMPLE_USAGE CLOB Mostra a amostra de uso do PL/SQL para o DATABASE_TYPE.