Conexão com uma Instância do Exadata Cloud Infrastructure

Este tópico explica como estabelecer conexão com uma instância do Exadata Cloud Infrastructure usando o SSH ou o SQL Developer.

A forma como você se conecta depende de como a sua rede na nuvem está configurada. 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.

Observação

Os servidores do Exadata Cloud Infrastructure não podem ser associados aos domínios do Active Directory, e o serviço não é compatível com o uso do Active Directory para autenticação e autorização do usuário.

Pré-requisitos

Lista dos requisitos para acesso SSH a um nó de computação em uma instância do Exadata Cloud Infrastructure.

Você precisará do seguinte:

  • O caminho completo para o arquivo que contém a chave privada associada à chave pública usada quando o sistema foi iniciado.

  • O endereço IP público ou privado da instância do Exadata Cloud Infrastructure.

    Use o endereço IP privado para 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, conectando-se por meio de uma VPN ou FastConnect à sua VCN, ou de outro host na mesma VCN. Use o endereço IP público para conectar-se ao sistema de fora da nuvem (sem VPN). Você encontra os endereços IP na Console do Oracle Cloud Infrastructure da seguinte forma:

    • Clusters de VMs na nuvem (novo modelo de recurso): Na página Detalhes do Cluster de VMs do Exadata, clique em Máquinas Virtuais na lista Recursos.
    • Sistemas de Banco de Dados: na página Detalhes do Sistema de Banco de Dados, clique em Nós na lista Recursos.

    Os valores são exibidos nas colunas Endereço IP Público e Endereço IP Privado e Nome do DNS da tabela que exibe Máquinas Virtuais ou Nós da instância do Exadata Cloud Infrastructure.

Definição da Porta do Listener SCAN

Ao criar um cluster de VMs na nuvem, você tem a opção de designar outro número de porta do listener SCAN.

A porta de listener SCAN padrão para clusters de VMs na nuvem é 1521. Ao usar a console Para criar um recurso de cluster de VMs na nuvem, você tem a opção de designar outro número de porta do listener SCAN. Na Console do OCI, essa opção aparece em Opções Avançadas ao criar o cluster.

Observação

Não há suporte para a alteração manual da porta do listener SCAN de um cluster de VMs após o provisionamento usando o software de backend. Essa alteração pode causar falhas no provisionamento do Data Guard.

Estabelecendo Conexão com uma Máquina Virtual usando SSH

Você pode estabelecer conexão com as máquinas virtuais em um sistema Exadata Cloud Infrastructure usando uma conexão SSH (Secure Shell).

A maioria dos sistemas de estilo Unix (incluindo Linux, Oracle Solaris e macOS) inclui um cliente SSH. Nos sistemas Microsoft Windows, você pode fazer download de um cliente SSH gratuito chamado PuTTY neste site: "http://www.putty.org".

Tópicos Relacionados

Estabelecendo Conexão em um Sistema no Estilo Unix

Para acessar uma máquina virtual em um sistema Oracle ExaDB-D por meio de um sistema estilo Unix usando SSH, utilize esse procedimento.

  • Digite o seguinte comando SSH para acessar a máquina virtual:
    ssh –i private-key user@node

    Na sintaxe anterior:

    • private-key é o caminho completo e o nome do arquivo que contém a chave privada SSH que corresponde a uma chave pública registrada no sistema.
    • user é o usuário do sistema operacional que você deseja usar para estabelecer conexão:
      • Para executar operações como proprietário do software Oracle Database, conecte-se como opc e su oracle. O usuário oracle não tem acesso de usuário root à máquina virtual.
      • Para executar operações que exijam acesso root à máquina virtual, como aplicação de patches, conecte-se como opc. O usuário opc pode usar o comando sudo -s para obter acesso root à máquina virtual.
    • node é o nome do host ou o endereço IP da máquina virtual que você deseja acessar.

Estabelecendo Conexão com uma Máquina Virtual em um Sistema Microsoft Windows Usando PuTTY

Aprenda a acessar uma máquina virtual em um sistema Microsoft Windows usando PuTTY.

Antes de começar

Antes de usar o programa PuTTY para estabelecer conexão com uma máquina virtual, você precisa do seguinte:
  • O endereço IP da máquina virtual.

  • O arquivo da chave privada de SSH que corresponde à chave pública associada à implantação. Esse arquivo de chave privada deve estar no formato PuTTY .ppk. Se o arquivo de chave privada tiver sido criado originalmente na plataforma Linux, você poderá usar o programa PuTTYgen para convertê-lo no formato .ppk.

Para estabelecer conexão com uma máquina virtual usando o programa PuTTY no Windows:

  1. Faça download do PuTTY e instale-o.

    Para fazer download do PuTTY, vá para http://www.putty.org/ e clique no link You can download PuTTY here.

  2. Execute o programa PuTTY (putty.exe).

    A janela de configuração do PuTTY é exibida, mostrando o painel Session.

  3. No campo Host Name (or IP address), digite o nome do host ou endereço IP da máquina virtual que você deseja acessar.
  4. Confirme se a opção Tipo de conexão está definida como SSH.
  5. Na árvore Categoria, expanda Conexão, se necessário, e clique em Dados.

    O painel Data é exibido.

  6. No campo Nome do usuário de log-in automático, digite o usuário do sistema operacional como você deseja estabelecer conexão:
    1. Conecte-se como usuário opc para executar operações que exigem acesso root ou oracle à máquina virtual, como backup ou aplicação de patch; esse usuário pode utilizar o comando sudo para obter acesso root ou oracle à VM.
  7. Confirme se a opção Quando o nome do usuário não for especificado estiver definida como Prompt.
  8. Na árvore Categoria, expanda SSH e clique em Autenticação.

    O painel Auth é exibido.

  9. Clique no botão Procurar ao lado do campo Arquivo de chave privada para autenticação. Em seguida, na janela Select private key file, navegue até o arquivo de chave privada que corresponde à chave pública associada à implantação e abra-o.
  10. Na árvore Categoria, clique em Sessão.

    O painel Session é exibido.

  11. No campo Sessões Salvas, digite um nome para a configuração de conexão. Em seguida, clique em Salvar.
  12. Clique em Abrir para abrir a conexão.

    A janela Configuração do PuTTY será fechada e a janela de terminal do PuTTY será exibida.

    Se esta for a primeira vez que você estiver se conectando à VM, a janela de alerta de segurança do PuTTY será exibida, solicitando que você confirme a chave pública. Clique em Yes para continuar com a conexão.

Acessando um Banco de Dados após a Conexão com a Máquina Virtual

Após a conexão com uma máquina virtual, você poderá usar a série de comandos a seguir para identificar um banco de dados e estabelecer conexão com ele.

  1. Faça log-in com SSH como usuário opc.
  2. sudo su oracle
  3. Use o utilitário srvctl localizado no diretório home do Oracle Grid Infrastructure para listar os bancos de dados no sistema. Por exemplo:
    /u01/app/12.2.0.1/grid/bin/srvctl config database -v
    nc122   /u02/app/oracle/product/12.2.0/dbhome_6 12.2.0.1.0
    s12c    /u02/app/oracle/product/12.2.0/dbhome_2 12.2.0.1.0
  4. Identifique as instâncias do banco de dados que você deseja acessar. Por exemplo:
    /u01/app/12.2.0.1/grid/bin/srvctl status database -d s12c
    Instance s12c1 is running on node node01
    Instance s12c2 is running on node node02
  5. Configure as definições de ambiente do banco de dados que você deseja acessar. Por exemplo:
    . oraenv
    ORACLE_SID = [oracle] ? s12c
    The Oracle base has been set to /u02/app/oracle
    export ORACLE_SID=s12c1
  6. Você pode usar o comando svrctl para exibir informações mais detalhadas sobre o banco de dados. Por exemplo:
    srvctl config database -d s12c
    Database unique name: s12c
    Database name:
    Oracle home: /u02/app/oracle/product/12.2.0/dbhome_2
    Oracle user: oracle
    Spfile: +DATAC4/s12c/spfiles12c.ora
    Password file: +DATAC4/s12c/PASSWORD/passwd
    Domain: example.com
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Server pools:
    Disk Groups: DATAC4
    Mount point paths:
    Services:
    Type: RAC
    Start concurrency:
    Stop concurrency:
    OSDBA group: dba
    OSOPER group: racoper
    Database instances: s12c1,s12c2
    Configured nodes: node01,node02
    CSS critical: no
    CPU count: 0
    Memory target: 0
    Maximum memory: 0
    Default network number for database services:
    Database is administrator managed
  7. Você pode acessar o banco de dados usando o SQL*Plus. Por exemplo:
    sqlplus / as sysdba
    
    SQL*Plus: Release 12.2.0.1.0 Production ...
    
    Copyright (c) 1982, 2016, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 12c EE Extreme Perf Release 12.2.0.1.0 - 64bit Production

Usando o Oracle Net Services para Estabelecer Conexão com um Banco de Dados

O Oracle Database Exadata Cloud Infrastructure suporta o acesso remoto ao banco de dados usando o Oracle Net Services.

Como o Exadata Cloud Infrastructure usa o Oracle Grid Infrastructure, você pode estabelecer conexões do Oracle Net Services usando conexões SCAN (Single Client Access Name). SCAN é um recurso que fornece um mecanismo consistente para que os clientes acessem as instâncias do Oracle Database que estão sendo executadas em um cluster.

Por padrão, o SCAN é associado a três endereços IP virtuais (VIPs). Cada VIP do SCAN também está associado a um listener do SCAN que fornece um ponto final para conexões do Oracle Database usando o Oracle Net Services. Para maximizar a disponibilidade, o Oracle Grid Infrastructure distribui os VIPs e os listeners do SCAN entre os nós de cluster disponíveis. Além disso, se houver um shutdown ou falha do nó, os VIPs e os listeners do SCAN serão migrados automaticamente para um nó ativo. Ao usar conexões do SCAN, você melhora a capacidade dos clientes do Oracle Database de ter um conjunto confiável de pontos finais de conexão capazes de atender a todos os bancos de dados em execução no cluster.

Os listeners do SCAN são adicionais aos Listeners do Oracle Net que são executados em cada nó do cluster, também conhecidos como listeners do nó. Quando uma conexão do Oracle Net Services passa por uma conexão do SCAN, o listener do SCAN roteia a conexão para um dos listeners do nó e não desempenha mais nenhum papel na conexão. Uma combinação de fatores, incluindo disponibilidade do listener, posicionamento da instância do banco de dados e distribuição da carga de trabalho, determina qual listener de nó recebe cada conexão.

Observação

Esta documentação fornece requisitos básicos para conexão com os bancos de dados do Exadata Cloud Infrastructure usando o Oracle Net Services.

Pré-requisitos de Conexão com um Banco de Dados com o Oracle Net Services

Verifique os pré-requisitos de conexão com uma instância do Oracle Database no Oracle ExaDB-D usando o Oracle Net Services.

Para estabelecer conexão com um Oracle Database no Exadata Cloud Infrastructure com o Oracle Net Services, você precisa do seguinte:
  • Os endereços IP dos VIPs do SCAN ou o nome do host ou endereço IP de uma máquina virtual que hospeda o banco de dados que você deseja acessar.
  • O identificador do banco de dados: o SID (identificador do sistema de banco de dados) ou um nome de serviço.

Conexão com um Banco de Dados com o SQL Developer

Você pode conectar-se a um banco de dados com o SQL Developer usando um dos seguintes métodos:

  • Crie um túnel SSH temporário do seu computador para o banco de dados. Este método fornece acesso somente pela duração do túnel. (Quando terminar de usar o banco de dados, certifique-se de fechar o túnel SSH saindo da sessão SSH.)
  • Abra a porta usada como listener do Oracle SCAN atualizando a lista de segurança usada para o cluster de VMs na nuvem ou o recurso do sistema de banco de dados na instância do Exadata Cloud Service. A porta padrão do listener SCAN é 1521. Esse método fornece acesso mais durável ao banco de dados. Para obter mais informações, consulte Atualizando a Lista de Segurança.

Depois de criar um túnel SSH ou abrir a porta do listener SCAN, conforme descrito anteriormente, você pode estabelecer conexão com uma instância do Exadata Cloud Infrastructure usando endereços IP SCAN ou endereços IP públicos, dependendo de como sua rede está configurada e do local de onde você está se conectando. Você pode encontrar os endereços IP na Console, na página de detalhes do Banco de Dados.

Para estabelecer conexão usando endereços IP SCAN

Você pode estabelecer conexão com o banco de dados usando os endereços IP SCAN se o seu cliente estiver on-premises e você estiver usando uma conexão FastConnect ou VPN entre Sites.

Você tem as seguintes opções:
  • Use os endereços IP SCAN privados, conforme mostrado no seguinte exemplo tnsnames.ora:

    testdb=
      (DESCRIPTION =
        (ADDRESS_LIST=
          (ADDRESS = (PROTOCOL = TCP)(HOST = <scanIP1>)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = <scanIP2>)(PORT = 1521)))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>)
        )
      )
  • Defina um nome SCAN externo no servidor DNS on-premises. Seu aplicativo pode resolver esse nome SCAN externo para os endereços IP SCAN privados do Sistema de Banco de Dados e, em seguida, o aplicativo pode usar uma string de conexão que inclua o nome SCAN externo. No exemplo tnsnames.ora a seguir, extscanname.example.com é definido no servidor DNS on-premises.

    testdb =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = <extscanname.example.com>)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>)
        )
      )
Para estabelecer conexão usando endereços IP públicos

Você pode usar o endereço IP público do nó para estabelecer conexão com o banco de dados se o cliente e o banco de dados estiverem em VCNs distintas ou se o banco de dados estiver em uma VCN que tenha um gateway de internet.

No entanto, há implicações importantes a serem consideradas:

  • Quando o cliente usa o endereço IP público, ele ignora o listener SCAN e acessa o listener do nó, de modo que o balanceamento de carga do servidor não fica disponível.
  • Quando o cliente usa o endereço IP público, ele não pode aproveitar o recurso de failover VIP Se um nó não estiver disponível, novas tentativas de conexão com o nó serão suspensas até ocorrer um timeout de TCP/IP. Você pode definir parâmetros sqlnet no cliente para limitar o timeout de TCP/IP.

O exemplo a seguir do tnsnames.ora mostra uma string de conexão que inclui o parâmetro CONNECT_TIMEOUT para evitar timeouts de TCP/IP.

test=
  (DESCRIPTION =
    (CONNECT_TIMEOUT=60)
    (ADDRESS_LIST=
      (ADDRESS = (PROTOCOL = TCP)(HOST = <publicIP1>)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = <publicIP2>)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>)
    )
  )

Estabelecendo Conexão com um Banco de Dados com o SCAN

Para criar uma conexão do Oracle Net Services usando os listeners do SCAN, você pode escolher entre dois métodos.

Estabelecendo Conexão com um Banco de Dados com um Descritor de Conexão que Faz Referência a Todos os VIPs do SCAN

Você pode configurar um descritor de conexão para o Sistema Oracle Exadata Database Service on Dedicated Infrastructure usando vários listeners SCAN.

Esse método exige que você informe todos os endereços IP virtuais (VIP) do nome de acesso de cliente único (SCAN) e permite que o Oracle Net Services estabeleça conexão com um listener disponível do SCAN.

  1. Use o seguinte modelo para definir um alias do Net Services, que geralmente é usado para fornecer um nome conveniente para o descritor de conexão:
    alias-name = (DESCRIPTION=
      (ADDRESS_LIST=
        (ADDRESS=(PROTOCOL=tcp)(HOST=SCAN-VIP-1)(PORT=1521))
        (ADDRESS=(PROTOCOL=tcp)(HOST=SCAN-VIP-2)(PORT=1521))
        (ADDRESS=(PROTOCOL=tcp)(HOST=SCAN-VIP-3)(PORT=1521)))
      (CONNECT_DATA=(sid-or-service-entry)))

    Em que:

    alias-name é o nome usado para identificar o alias.

    SCAN-VIP-[1–3] são os endereços IP dos VIPs do SCAN.

    sid-or-service-entry identifica o SID do banco de dados ou o nome do serviço usando um dos seguintes formatos:
    • SID=sid-name. Por exemplo: SID=S12C1.
    • SERVICE_NAME=service-name. Por exemplo: SERVICE_NAME=PDB1.example.yourcloud.com.
    Observação

    Por padrão, o Oracle Net Services seleciona aleatoriamente um dos endereços na lista de endereços para balancear a carga entre os listeners do SCAN.

Estabelecendo Conexão com um Banco de Dados com um Descritor de Conexão que Faz Referência a um Nome Personalizado do SCAN

Você pode configurar um descritor de conexão para o Sistema Oracle Exadata Database Service on Dedicated Infrastructure usando um nome personalizado do SCAN.

Usando esse método, você define um nome SCAN (nome de acesso de cliente único) personalizado no seu servidor de nomes de domínio (DNS), que é resolvido com os três endereços IP virtuais (VIPs) do SCAN.

  1. Use o seguinte modelo para definir um alias do Net Services que faça referência ao nome personalizado do SCAN:
    alias-name = (DESCRIPTION=
      (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=scan-name)(PORT=1521)))
      (CONNECT_DATA=(sid-or-service-entry)))

    Em que:

    alias-name é o nome usado para identificar o alias.

    scan-name é o nome personalizado do SCAN.

    sid-or-service-entry identifica o SID do banco de dados ou o nome do serviço usando um dos seguintes formatos:
    • SID=sid-name. Por exemplo: SID=S12C1.
    • SERVICE_NAME=service-name. Por exemplo: SERVICE_NAME=PDB1.example.yourcloud.com.
    Se preferir, use o método de conexão fácil para especificar um descritor de conexão com o seguinte formato:
    scan-name:1521/sid-or-service-entry
    Por exemplo:
    exa1scan.example.com:1521/S12C1
    Ou
    exa1scan.example.com:1521/PDB1.example.yourcloud.com

Estabelecendo Conexão com um Banco de Dados com um Listener de Nó

Para estabelecer conexão com uma instância do Oracle Database no Exadata Cloud Infrastructure com um descritor de conexão que ignore os listeners SCAN, use este procedimento para rotear sua conexão diretamente para um listener de nó.

Usando esse método, você renuncia à alta disponibilidade e ao balanceamento de carga fornecidos pelo SCAN. No entanto, esse método poderá ser desejável se você quiser direcionar conexões para um nó ou interface de rede específicos. Por exemplo, talvez você queira garantir que as conexões de um programa que executa o carregamento de dados em massa usem a rede de backup.

Usando esse método, você direciona sua conexão usando o nome do host ou o endereço IP do nó.

Exemplo 4-2 Definindo um Alias de Serviço de Rede que Faz Referência Diretamente ao Nó

alias-name = (DESCRIPTION=
  (CONNECT_TIMEOUT=timeout)					
  (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=node)(PORT=1521)))
  (CONNECT_DATA=(sid-or-service-entry)))

Em que:

alias-name é o nome usado para identificar o alias.

timeout especifica um período de timeout (em segundos), que permite encerrar uma tentativa de conexão sem precisar aguardar um timeout de TCP. O parâmetro (CONNECT_TIMEOUT=timeout) é opcional.

node é o nome do host ou endereço IP da máquina virtual que você deseja usar.

sid-or-service-entry identifica o SID do banco de dados ou o nome do serviço usando um dos seguintes formatos:
  • SID=sid-name. Por exemplo, SID=S12C1.
  • SERVICE_NAME=service-name. Por exemplo, SERVICE_NAME=PDB1.example.oraclecloudatcust.com.
Se preferir, use o método de conexão fácil para especificar um descritor de conexão com o seguinte formato:
node:1521/sid-or-service-entry
Por exemplo:
exa1node01.example.com:1521/S12C1
Ou
exa1node01.example.com:1521/PDB1.example.oraclecloudatcust.com