Criar Links de Banco de Dados de um Autonomous AI Database para um Oracle Database em um Ponto Final Privado

Você pode criar links de banco de dados de um Autonomous AI Database para um Oracle Database de destino que esteja em um ponto final privado.

Observação: Os links do banco de dados de um banco de dados Oracle de destino que está em um ponto final privado só são suportados em regiões comerciais e regiões do Governo dos EUA. Por padrão, esse recurso é ativado em todas as regiões comerciais. Esse recurso é ativado por padrão nas regiões do Governo dos EUA para bancos de dados recém-provisionados. Para bancos de dados existentes do Governo dos EUA em um ponto final privado, se quiser criar links de banco de dados de um Autonomous AI Database para um destino em uma região do Governo dos EUA, você poderá registrar uma Solicitação de Serviço no Suporte do Oracle Cloud e solicitar a ativação do ponto final privado no recurso de vinculação de banco de dados das regiões do governo. As regiões do Governo dos EUA incluem o seguinte:

Dependendo do tipo e da configuração do banco de dados Oracle de destino:

Pré-requisitos para Links de Bancos de Dados do Autonomous AI Database para Oracle Databases em um Ponto Final Privado

Lista os pré-requisitos para criar links de banco de dados de um Autonomous AI Database para um banco de dados Oracle de destino que esteja em um ponto final privado.

Para criar um link de banco de dados para um banco de dados Oracle de destino em um ponto final privado:

Criar Links de Banco de Dados para Bancos de Dados Oracle em um Ponto Final Privado sem uma Wallet

Use DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK para criar links de banco de dados de um Autonomous AI Database para um banco de dados Oracle de destino que esteja em um ponto final privado e se conecte sem uma wallet (TCP).

Observação: Esta opção se destina a bancos de dados Oracle de destino que estão em um ponto final privado e não têm SSL/TCPS configurado.

Execute as etapas de pré-requisito, conforme necessário. Consulte Pré-requisitos para Links de Banco de Dados do Autonomous AI Database para Oracle Databases em um Ponto Final Privado para obter detalhes.

Para criar um link de banco de dados para um banco de dados de destino em um ponto final privado usando uma conexão TCP segura sem uma wallet:

  1. No Autonomous AI Database, crie credenciais para acessar o banco de dados de destino. As credenciais username e password que você especifica com DBMS_CLOUD.CREATE_CREDENTIAL são as credenciais do banco de dados de destino usado no link do banco de dados (em que o banco de dados de destino é acessado por meio da VCN).

    Por exemplo:

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

    Os caracteres no parâmetro username devem ter todas as letras maiúsculas.

    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 do banco de dados para o banco de dados de destino usando DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Por exemplo:

     BEGIN
          DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
              db_link_name => 'PRIVATE_ENDPOINT_LINK',
              hostname => 'exampleHostname',
              port => '1522',
              service_name => '*exampleServiceName*',
              ssl_server_cert_dn => NULL,
              credential_name => 'PRIVATE_ENDPOINT_CRED',
              directory_name => NULL,
              private_target => TRUE);
     END;
     /
    

    Para um destino em um ponto final privado, o DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK suporta a especificação de um único nome de host com o parâmetro hostname. Em um ponto final privado, não há suporte para o uso de um endereço IP, IP SCAN ou nome de host SCAN (quando o destino está em um ponto final público, o CREATE_DATABASE_LINK suporta o uso de um endereço IP, um IP SCAN ou um nome de host SCAN).

    Quando o destino for um banco de dados Oracle RAC, use o parâmetro rac_hostnames para especificar um ou mais nomes de host com DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. Isso permite que você aproveite os recursos de alta disponibilidade do Oracle RAC. O uso de um endereço IP, um IP SCAN ou um nome de host SCAN no valor rac_hostnames não é suportado.

    Por exemplo, com um banco de dados Oracle RAC de destino, use o parâmetro rac_hostnames:

     BEGIN
          DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
              db_link_name => 'PRIVATE_ENDPOINT_LINK',
              rac_hostnames => '["sales1-svr1.*example*.adb.us-ashburn-1.oraclecloud.com",
                                 "sales1-svr2.*example*.adb.us-ashburn-1.oraclecloud.com",
                                 "sales1-svr3.*example*.adb.us-ashburn-1.oraclecloud.com"]',
              port => '1522',
              service_name => '*exampleServiceName*',
              ssl_server_cert_dn => NULL,
              credential_name => 'PRIVATE_ENDPOINT_CRED',
              directory_name => NULL,
              private_target => TRUE);
     END;
     /
    

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK não suporta um valor localhost para o parâmetro hostname ou no parâmetro rac_hostnames.

    Usuários diferentes de ADMIN precisam de privilégios para executar DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Conforme mostrado no exemplo, para criar um link de banco de dados com DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK para um banco de dados de destino em um ponto final privado usando uma conexão TCP segura sem uma wallet, todas as seguintes opções são necessárias:

    • O parâmetro directory_name deve ser NULL.

    • O parâmetro ssl_server_cert_dn deve ser NULL.

    • O parâmetro private_target deve ser TRUE.

  3. Use o link de banco de dados criado para acessar dados no banco de dados de destino.

    Por exemplo:

     SELECT * FROM employees@PRIVATE_ENDPOINT_LINK;
    

Para as credenciais criadas na Etapa 1, as credenciais do Oracle Database, 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 => 'DB_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.

Consulte Procedimento CREATE_DATABASE_LINK para obter informações adicionais.

Criar Links de Banco de dados do Autonomous AI Database para Oracle Databases em um Ponto Final Privado com uma Wallet (mTLS)

Você pode criar links de banco de dados de um Autonomous AI Database para um banco de dados Oracle de destino que esteja em um ponto final privado.

Observação: Esta opção se destina a bancos de dados Oracle de destino que têm SSL/TCPS configurado e que estão em um ponto final privado.

Se o banco de dados Oracle de destino não tiver SSL/TCPS configurado, você terá duas opções:

Execute as etapas de pré-requisito, conforme necessário. Consulte Pré-requisitos para Links de Banco de Dados do Autonomous AI Database para Oracle Databases em um Ponto Final Privado para obter detalhes.

Para criar um link de banco de dados para um banco de dados Oracle de destino em um ponto final privado usando a autenticação TCP/IP com SSL (TCPS):

  1. Copie sua wallet do banco de dados de destino, cwallet.sso, contendo os certificados do banco de dados de destino para o Object Store.

    Observação: O arquivo da wallet, juntamente com o ID de usuário e a senha do Banco de Dados, fornecem acesso aos dados no banco de dados Oracle de destino. Armazene os arquivos da wallet em um local seguro. Só compartilhe os arquivos da wallet com usuários autorizados.

  2. Crie credenciais para acessar o Object Store no qual você armazena o cwallet.sso. Consulte Procedimento CREATE_CREDENTIAL para obter informações sobre os parâmetros de nome de usuário e senha para diferentes serviços de armazenamento de objetos.

  3. Crie um diretório no Autonomous AI Database para o arquivo de wallet cwallet.sso.

    Por exemplo:

    CREATE DIRECTORY *wallet_dir* AS '*directory_path_of_your_choice*';
    

    Consulte Criar Diretório no Autonomous AI Database para obter informações sobre a criação de diretórios.

  4. Use DBMS_CLOUD.GET_OBJECT para fazer upload da wallet do banco de dados de destino para o diretório criado na etapa anterior, WALLET_DIR.

    Por exemplo:

     BEGIN
     DBMS_CLOUD.GET_OBJECT(
         credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/*namespace-string*/b/*bucketname*/o/cwallet.sso',
         directory_name => '*WALLET_DIR*');
     END;
     /
    

    Neste exemplo, *namespace-string* é o namespace do Oracle Cloud Infrastructure Object Storage e bucketname é o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.

    Observação: O credential_name usado nesta etapa são as credenciais do Object Store. Na próxima etapa, você cria as credenciais para acessar o banco de dados de destino.

  5. No Autonomous AI Database, crie credenciais para acessar o banco de dados de destino. As credenciais username e password que você especifica com DBMS_CLOUD.CREATE_CREDENTIAL são as credenciais do banco de dados de destino usado no link do banco de dados (em que o banco de dados de destino é acessado por meio da VCN).

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

    Por exemplo:

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

    Os caracteres no parâmetro username devem ter todas as letras maiúsculas.

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

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

    Por exemplo:

     BEGIN
       DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
         db_link_name => 'PEDBLINK1',
         hostname => 'example1.adb.ap-osaka-1.oraclecloud.com',
         port => '1522',
         service_name => '*example_high.adb.oraclecloud.com*',
         ssl_server_cert_dn => '*ssl_server_cert_dn*',
         credential_name => 'DB_LINK_CRED',
         directory_name => '*WALLET_DIR*',
         private_target => TRUE);
     END;
     /
    

    Para um destino em um ponto final privado, o DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK suporta a especificação de um único nome de host com o parâmetro hostname. Em um ponto final privado, não há suporte para o uso de um endereço IP, IP SCAN ou nome de host SCAN (quando o destino está em um ponto final público, o CREATE_DATABASE_LINK suporta o uso de um endereço IP, um IP SCAN ou um nome de host SCAN).

    Quando o destino for um banco de dados Oracle RAC, use o parâmetro rac_hostnames para especificar um ou mais nomes de host com DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. Isso permite que você aproveite os recursos de alta disponibilidade do Oracle RAC. Não há suporte para o uso de um endereço IP, um IP SCAN ou um nome de host SCAN no valor rac_hostnames.

    Por exemplo, com um banco de dados Oracle RAC de destino, use o parâmetro rac_hostnames:

     BEGIN
       DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
         db_link_name => 'PEDBLINK1',
         rac_hostnames => '["sales1-svr1.*example*.adb.us-ashburn-1.oraclecloud.com",
                            "sales1-svr2.*example*.adb.us-ashburn-1.oraclecloud.com",
                            "sales1-svr3.*example*.adb.us-ashburn-1.oraclecloud.com"]',
         port => '1522',
         service_name => '*example_high.adb.oraclecloud.com*',
         ssl_server_cert_dn => '*ssl_server_cert_dn*',
         credential_name => 'DB_LINK_CRED',
         directory_name => '*WALLET_DIR*',
         private_target => TRUE);
     END;
     /
    

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK não suporta um valor localhost para o parâmetro hostname ou no parâmetro rac_hostnames.

    Usuários diferentes de ADMIN precisam de privilégios para executar DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

  7. Use o link de banco de dados criado para acessar dados no banco de dados de destino.

    Por exemplo:

    ``sql SELECT * FROM employees@PEDBLINK1;

Para as credenciais criadas na Etapa 5, as credenciais do Oracle Database, 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 => 'DB_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.

Consulte Procedimento CREATE_DATABASE_LINK para obter informações adicionais.

Observações do Link de Banco de Dados com um Oracle Database de Destino

Fornece observações para criar links de banco de dados para um banco de dados Oracle de destino (quando o destino não é um Autonomous AI Database)

Observações para links de banco de dados para outros bancos de dados Oracle:

Conteúdo Relacionado

Pacote DBMS_CLOUD_ADMIN