Crie Links de Banco de Dados do Autonomous AI Database para um Oracle AI Database em um Ponto Final Privado
Você pode criar links de banco de dados de um Autonomous AI Database para um Oracle AI Database de destino que esteja em um ponto final privado.
Dependendo do tipo e da configuração do Oracle AI Database de destino:
-
Outro Oracle AI Database, como um banco de dados local ou Database Cloud Service, em um ponto final privado configurado para SSL (TCPS): Nesse caso, você pode criar o link de banco de dados com uma wallet e o link de banco de dados se comunica com o TCPS. Consulte Criar Links de Banco de Dados do Autonomous AI Database para Oracle AI Databases em um Ponto Final Privado com uma Wallet (mTLS) para obter detalhes:
-
Oracle AI Database, como on-premises ou um banco de dados Database Cloud Service, em um ponto final privado configurado para TCP: Nesse caso, você cria o link de banco de dados sem uma wallet e o link de banco de dados se comunica com TCP. Consulte Criar Links de Banco de Dados para Bancos de Dados do Oracle AI em um Ponto Final Privado sem uma Wallet para obter detalhes
Consulte Como Criar um Link de Banco de Dados do Autonomous AI Database para uma Instância do Database Cloud Service para obter mais informações.
Pré-requisitos
Lista os pré-requisitos para criar links de banco de dados de um Autonomous AI Database para um Oracle AI Database de destino que esteja em um ponto final privado.
Para criar um link de banco de dados para um Oracle AI Database de destino em um ponto final privado:
-
O banco de dados de destino deve estar acessível pela VCN do Oracle Cloud Infrastructure do banco de dados de origem. Por exemplo, você pode estabelecer conexão com o banco de dados de destino quando:
-
O banco de dados de destino está em um ponto final privado.
-
Tanto o banco de dados de origem quanto o de destino estão na mesma VCN do Oracle Cloud Infrastructure.
-
O banco de dados de origem e o banco de dados de destino estão em diferentes VCNs do Oracle Cloud Infrastructure pareadas.
-
O banco de dados de destino é um banco de dados on-premises conectado à VCN do Oracle Cloud Infrastructure do banco de dados de origem usando FastConnect ou VPN.
-
-
Há duas opções para especificar o banco de dados de destino: use o parâmetro
hostnameou o parâmetrorac_hostnames:-
Para um destino em um ponto final privado, o
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKsuporta a especificação de um único nome de host com o parâmetrohostname. 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, oCREATE_DATABASE_LINKsuporta 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_hostnamespara especificar um ou mais nomes de host comDBMS_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 valorrac_hostnames.Quando você especifica uma lista de nomes de host no parâmetro
rac_hostnames, oCREATE_DATABASE_LINKusa todos os nomes de host especificados como endereços na string de conexão. Se um dos hosts especificados não estiver disponível no banco de dados do Oracle RAC de destino, o Autonomous AI Database tentará se conectar automaticamente usando outro nome de host da lista.
-
-
As seguintes regras de entrada e saída devem ser definidas para o ponto final privado:
-
Defina uma regra de saída na lista de segurança de sub-rede ou no grupo de segurança de rede do banco de dados de origem para que o tráfego em TCP seja permitido para o endereço IP e o número da porta do banco de dados de destino.
-
Defina uma regra de entrada na lista de segurança de sub-rede ou no grupo de segurança de rede do banco de dados de destino de forma que o tráfego por TCP seja permitido do endereço IP do banco de dados de origem para a porta de destino.
Consulte Configurar o Acesso à Rede com Pontos Finais Privados para obter informações sobre como configurar pontos finais privados com regras de entrada e saída.
-
Observação
Observação: Quando sua instância do Autonomous AI Database for configurada com um ponto final privado, defina a propriedade do banco de dados ROUTE_OUTBOUND_CONNECTIONS para especificar que todos os links de banco de dados de saída estejam sujeitos às regras de saída da VCN do ponto final privado da instância do Autonomous AI Database. Consulte Segurança Aprimorada para Conexões de Saída com Pontos Finais Privados para obter mais informações.
Criar Links de Banco de Dados para Bancos de Dados do Oracle AI 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 Oracle AI Database de destino que esteja em um ponto final privado e se conecte sem uma wallet (TCP).
Observação
Observação: Esta opção se destina a Bancos de Dados do Oracle AI 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 AI 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:
-
No Autonomous AI Database, crie credenciais para acessar o banco de dados de destino. As credenciais
usernameepasswordque você especifica comDBMS_CLOUD.CREATE_CREDENTIALsã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
usernamedevem ter todas as letras maiúsculas.Observação
Observação: Você pode usar uma credencial de segredo do vault para a credencial do banco de dados de destino em um link de banco de dados. Consulte Usar Credenciais do Segredo do Vault para obter mais informações.Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial.
-
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_LINKsuporta a especificação de um único nome de host com o parâmetrohostname. 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, oCREATE_DATABASE_LINKsuporta 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_hostnamespara especificar um ou mais nomes de host comDBMS_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 valorrac_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 => '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_LINKnão suporta um valorlocalhostpara o parâmetrohostnameou no parâmetrorac_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_LINKpara 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_namedeve serNULL. -
O parâmetro
ssl_server_cert_dndeve serNULL. -
O parâmetro
private_targetdeve serTRUE.Observação
Observação: Se você definir a propriedade do banco de dadosROUTE_OUTBOUND_CONNECTIONS, a definição do parâmetroprivate_targetcomoTRUEnão será necessária nessa API. Consulte Segurança Aprimorada para Conexões de Saída com Pontos Finais Privados para obter mais informações.
-
-
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;Observação
Observação: Para as credenciais criadas na Etapa 1, as credenciais do Oracle AI 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 AI 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 Oracle AI Database de destino que esteja em um ponto final privado.
Observação
Observação: Esta opção se destina a Bancos de Dados do Oracle AI de destino que têm SSL/TCPS configurado e que estão em um ponto final privado.
Se o Oracle AI Database de destino não tiver SSL/TCPS configurado, você terá duas opções:
-
Você pode configurar o Oracle AI Database de destino para usar TCP/IP com autenticação SSL (TCPS). Consulte Configuring Transport Layer Security Authentication para obter informações sobre como configurar SSL/TCPS.
-
Você pode se conectar ao Oracle AI Database de destino com TCP. Consulte Criar Links de Banco de Dados para Bancos de Dados do Oracle AI em um Ponto Final Privado sem uma Wallet para obter detalhes.
Execute as etapas de pré-requisito, conforme necessário. Consulte Pré-requisitos para Links de Banco de Dados do Autonomous AI Database para Oracle AI Databases em um Ponto Final Privado para obter detalhes.
Para criar um link de banco de dados para um Oracle AI Database de destino em um ponto final privado usando a autenticação TCP/IP com SSL (TCPS):
-
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
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 Oracle AI Database de destino. Armazene os arquivos da wallet em um local seguro. Só compartilhe os arquivos da wallet com usuários autorizados. -
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. -
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 como criar diretórios.
-
Use
DBMS_CLOUD.GET_OBJECTpara 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 ebucketnameé o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.Observação
Observação: Ocredential_nameusado 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. -
No Autonomous AI Database, crie credenciais para acessar o banco de dados de destino. As credenciais
usernameepasswordque você especifica comDBMS_CLOUD.CREATE_CREDENTIALsã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
Observação: é necessário fornecer o parâmetrocredential_name.Por exemplo:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DB_LINK_CRED', username => 'NICK', password => 'password'); END; /Os caracteres no parâmetro
usernamedevem ter todas as letras maiúsculas.Observação
Observação: Você pode usar uma credencial de segredo do vault para a credencial do banco de dados de destino em um link de banco de dados. Consulte Usar Credenciais do Segredo do Vault para obter mais informações.Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial.
-
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; /Observação
Observação: Se você definir a propriedade do banco de dadosROUTE_OUTBOUND_CONNECTIONS, a definição do parâmetroprivate_targetcomoTRUEnão será necessária nessa API. Consulte Segurança Aprimorada para Conexões de Saída com Pontos Finais Privados para obter mais informações.Para um destino em um ponto final privado, o
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKsuporta a especificação de um único nome de host com o parâmetrohostname. 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, oCREATE_DATABASE_LINKsuporta 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_hostnamespara especificar um ou mais nomes de host comDBMS_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 valorrac_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_LINKnão suporta um valorlocalhostpara o parâmetrohostnameou no parâmetrorac_hostnames.Usuários diferentes de ADMIN precisam de privilégios para executar
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. -
Use o link de banco de dados criado para acessar dados no banco de dados de destino.
Por exemplo:
SELECT * FROM employees@PEDBLINK1;Observação
Observação: Para as credenciais criadas na Etapa 5, as credenciais do Oracle AI 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.