Visão Geral da Conexão com um Sistema de Banco de Dados
Este artigo fornece uma introdução sobre várias definições necessárias para estabelecer conexão com um sistema de banco de dados ativo. A forma de conexão depende da ferramenta ou do protocolo do cliente que você usa, da finalidade da conexão e da forma como sua rede na nuvem está configurada.
Observação:
Você encontra informações sobre vários cenários de rede em Visão Geral do Serviço Networking, mas, para obter recomendações específicas sobre como estabelecer conexão com um banco de dados na nuvem, entre em contato com o administrador de segurança da rede.Pré-requisitos
- Para usar a Console ou a API para obter as strings de conexão do serviço de administração padrão, é necessário ter o tipo necessário de acesso em uma política gravada por um administrador, seja usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Se você tentar executar uma ação e receber uma mensagem informando que não tem permissão ou não está autorizado, confirme com o administrador o tipo de acesso concedido e em qual compartimento você deve trabalhar.
-
Para estabelecer conexão com o banco de dados, você precisará do endereço IP público ou privado do sistema de banco de dados.
Use o endereço IP privado para estabelecer conexão com o sistema de sua rede on-premises ou de dentro da VCN (Rede Virtual na Nuvem). Isso inclui a conexão de um host localizado on-premises, estabelecendo conexão por meio de uma VPN ou do FastConnect com a sua VCN ou de outro host na mesma VCN. Use o endereço IP público para estabelecer conexão com o sistema de fora da nuvem (sem VPN). É possível encontrar os endereços IP na Console da seguinte forma:
- Na página de detalhes do Sistema de BD, selecione a guia Nós.
- Os nomes de DNS, Endereço IP público e Endereço IP privado são exibidos nas colunas da tabela.
- Para acesso via SSH (Secure Shell) ao sistema de banco de dados, será necessário fornecer o caminho completo para o arquivo que contém a chave privada associada à chave pública usada quando o sistema de banco de dados foi iniciado.
Se tiver problemas de conexão, consulte Diagnosticar e Solucionar Problemas de Conexão.
Serviços de Banco de Dados e Strings de Conexão
Os serviços de banco de dados permitem controlar o acesso do cliente a uma instância do banco de dados, dependendo da funcionalidade necessária. Por exemplo, você pode precisar acessar o banco de dados apenas para fins de administração ou pode precisar conectar um aplicativo ao banco de dados. As strings de conexão são específicas para um serviço de banco de dados.
Quando você provisiona um sistema de banco de dados, um serviço de administração de banco de dados padrão é criado automaticamente. Para Oracle Databases 12c e posteriores, esse serviço destina-se à administração do banco de dados no nível do CDB. Como esse serviço oferece funcionalidade limitada, ele não é adequado para a conexão de um aplicativo. A Oracle recomenda que você crie um serviço de aplicativo padrão para o banco de dados inicial depois de criar o sistema de banco de dados. Para Oracle Databases 12c e posteriores, os serviços de aplicativos se conectam no nível do PDB. Estas são algumas funções importantes que um serviço de aplicativo pode fornecer:
- Identificação da carga de trabalho
- Balanceamento de carga
- Continuidade do aplicativo e Transaction Guard
- FAN (Fast Application Notification)
- Designação do recurso com base no nome do serviço
Para obter detalhes sobre esses e outros recursos de Alta Disponibilidade, consulte Melhores Práticas de Failover do Cliente para Oracle Databases Altamente Disponíveis.
Criar um Serviço de Aplicativo
Use o utilitário srvctl
para criar um serviço de aplicativo. Antes de estabelecer conexão com o serviço, você deverá iniciá-lo.
Você pode criar um serviço de aplicativo para um PDB ou um banco de dados Oracle 11g usando as etapas a seguir.
- Faça log-in no host do sistema de banco de dados como
opc
. - Alterne para o usuário oracle e defina seu ambiente como o Oracle Database que deseja administrar.
sudo su - oracle . oraenv
ORACLE_SID = [oracle] ? <database_name> The Oracle base has been set to /u01/app/oracle
- Crie o serviço de aplicativo para o banco de dados. Inclua a opção
pdb
somente se você estiver criando um serviço de aplicativo para um PDB.srvctl add service -db <DB_unique_name> -pdb <PDB_name> -service <app_service_name> -role PRIMARY -notification TRUE -session_state dynamic -failovertype transaction -failovermethod basic -commit_outcome TRUE -failoverretry 30 -failoverdelay 10 -replay_init_time 900 -clbgoal SHORT -rlbgoal SERVICE_TIME -preferred <rac_node1>,<rac_node2> -retention 3600
Observe que a opção preferencial é necessária somente para bancos de dados com vários nós para especificar o nome do host do nó no RAC.
- Inicie o serviço de aplicativo.
srvctl start service -db <DB_unique_name> -s <app_service_name>
Para obter mais informações sobre serviços para um PDB, consulte Administrando PDBs.
Strings de Conexão do Banco de Dados
Você deve usar a string de conexão apropriada para acessar uma administração do banco de dados ou um serviço de aplicativo. Você pode usar a Console ou a API para obter a string de conexão com o serviço de administração padrão em uma VCN. Para Oracle Databases 12c e posteriores, esse serviço destina-se à administração do banco de dados no nível do CDB. A string é fornecida no formato Easy Connect e no formato do descritor de conexão completo (longo). Use o formato longo para a conexão se a resolução do nome do host não estiver disponível. Você também pode usar o formato longo para criar um alias no arquivo tnsnames.ora.
Para acessar um serviço de banco de dados dentro da VCN, a string de conexão para um sistema de banco de dados RAC (Real Application Cluster) usa o SCAN (Single Client Access Name) enquanto a string de conexão para o sistema de banco de dados de uma única instância usa o nome de host.
O nome SCAN privado é uma entrada de DNS de Revezamento criada quando você inicia um sistema de banco de dados RAC de 2 nós. O nome SCAN privado só pode ser resolvido dentro da VCN. Se o cliente e o banco de dados estiverem na mesma VCN, o mecanismo de conexão será o mesmo que um banco de dados RAC on-premises; todos os recursos fornecidos por VIPs e VIPs do SCAN, como balanceamento de carga do servidor e failover de VIP, estarão disponíveis.
Observação:
Se você alterar manualmente a porta DB_UNIQUE_NAME, DB_DOMAIN ou do listener no sistema de BD, as strings de conexão que você verá na Console ou na API não refletirão suas alterações. Certifique-se de usar os valores reais desses parâmetros durante a conexão.Obter as Strings de Conexão
Você pode obter as strings de conexão para o serviço padrão de administração usando as seguintes etapas usando a Console:
- Na página de lista Sistemas de BD, selecione o sistema de BD que contém o banco de dados com o qual você deseja trabalhar. Se precisar de ajuda para localizar a página de lista ou o sistema de banco de dados, consulte Listar os Sistemas de Banco de Dados.
- Na guia Bancos de Dados, selecione o banco de dados com o qual você deseja trabalhar.
- Na página de detalhes do banco de dados, selecione a guia Conexões. Uma lista de strings de conexão é exibida.
- Selecione o link aplicável para exibir ou copiar a string de conexão.
Você pode derivar as strings de conexão para outros serviços de banco de dados substituindo parte da string de conexão do serviço de aplicativo padrão pelos valores aplicáveis.
Derivar a String de Conexão
Execute as etapas a seguir para obter a string de conexão para um serviço de administração do PDB ou um serviço de aplicativo.
- Siga o procedimento para obter a string Easy Connect do serviço de administração padrão. Essa string deve ter o seguinte formato:
<hostname|SCAN>:1521/<DB_unique_name>.<DB_domain>
- Faça a substituição apropriada:
-
Para o serviço de administração de PDB, substitua
DB_unique_name
pelo nome do PDB.<hostname|SCAN>:1521/<PDB_name>.<DB_domain>
-
Para um serviço de aplicativo, substitua
DB_UNIQUE_NAME
pelo nome do serviço de aplicativo.<hostname|SCAN>:1521/<app_service_name>.<DB_domain>
-