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ê pode encontrar informações sobre vários cenários da rede em Visão Geral do Serviço Networking, mas para obter recomendações específicas sobre como se conectar a um banco de dados na nuvem, entre em contato com o administrador da rede.

Pré-requisitos

Se você 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:

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.

  1. Faça log-in no host do sistema de banco de dados como opc.
  2. 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
  3. 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.

  4. 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 listener no sistema de banco de dados, as strings da conexão que você vê na Console ou 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:

  1. 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.
  2. Na guia Bancos de Dados, selecione o banco de dados com o qual você deseja trabalhar.
  3. Na página de detalhes do banco de dados, selecione a guia Conexões. Uma lista de strings de conexão é exibida.
  4. 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 derivar a string de conexão de um serviço da administração de PDB ou de um serviço do aplicativo.

  1. 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>
  2. 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>