Como se conectar a Oracle 12c Instância de banco de dados

Uma instância de banco de dados 12c A Oracle não é muito bom se você não pode se conectar a ele. Estabelecer uma conexão confiável, persistente, e seguro para o banco de dados do cliente é essencial.

Oracle Net é apoiada por

  • administrador de banco de dados (DBA) processos ouvinte geridas por

  • arquivos de configuração cliente e do lado do servidor

  • utilitários de linha de comando

  • ferramentas de administração GUI opcionais

As ligações podem vir ao banco de dados através de vários protocolos não-Oracle mais leves tais como ODBC ou JDBC.

Local versus conexões remotas com o Oracle 12c

Conexões para o banco de dados pode ser um dos dois tipos:

  • Local (legar): A ligação local se origina a partir do mesmo servidor de banco de dados está ligado e não usa o processo de escuta banco de dados.

  • Controlo remoto: Todas as outras conexões de fora do servidor de banco de dados ou os do servidor usando o ouvinte são conexões remotas. A maneira mais fácil para determinar se um usuário está se conectando remotamente é se você tem @TNS_ALIAS na tela de conexão.

fluxo de comunicação com o Oracle 12c

Conexões para um banco de dados Oracle normalmente vêm em frente a um cliente localizado longe da database- sobre uma Infra-estrutura de rede para o servidor-de banco de dados através de um processamento ouvinte banco de dados e, finalmente, no próprio banco de dados.

No lado do cliente, o programa chamando as referências de banco de dados tnsnames.ora para encontrar o host do servidor de banco de dados e protocolo para enviar a solicitação para. O pedido, em seguida, deixa o cliente e vai para o OracleNet utilização da rede. A porta padrão para comunicações de rede da Oracle é a 1521. Ao longo deste protocolo Oracle Net é onde o tráfego de comunicações de banco de dados flui entre o cliente eo servidor de banco de dados.

Após pedido de comunicação de um cliente chega ao host do servidor de banco de dados, é transferida para o ouvinte. O ouvinte de banco de dados é um processo separado software Oracle no servidor de banco de dados que atende a solicitações de entrada na porta OracleNet definido (1521). Quando se recebe um pedido, o ouvinte identifica qual instância de banco de dados é direcionado para essa solicitação e estabelece uma conexão a essa instância de banco de dados.

No lado do servidor, o ouvinte usa o arquivo listener.ora para fazer essa determinação. Quando a conexão é estabelecida e do início da sessão, o ouvinte sai da imagem e permite a comunicação entre o banco de dados eo cliente. Cada sessão de cliente tem um processo de servidor dedicado no lado do servidor. Dentro deste processo de servidor dedicado, código de sessão do usuário é executado. Isto representa o fluxo de comunicação.

image0.jpg

O cliente contém o aplicativo cliente e tnsnames.ora arquivo. Ele se comunica com o servidor de banco de dados sobre o Oracle Net na porta 1521. No servidor de banco de dados, um processo ouvinte é configurado por meio do arquivo listener.ora. As rotas ouvinte a solicitação de entrada para a instância de banco de dados alvo (um dev11g ou db01) e estabelece o aperto de mão inicial de ligação entre a instância de banco de dados e cliente.

Como configurar tnsnames.ora com a Oracle 12c

Você deve fornecer o endereço ou localização do banco de dados que você está tentando se conectar. Esta informação é muitas vezes armazenados no arquivo de texto tnsnames.ora, que existe no cliente que você está se conectando.

Note que este "cliente" pode ser uma estação de trabalho do usuário, um servidor de aplicativos web, ou mesmo outro servidor de banco de dados.

Aqui está um arquivo tnsnames.ora exemplo que pode ser encontrado em oracle_home_directory / network / admin:

dev12c = (DESCRIÇÃO = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = orasvr01) (PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = dev12c)) db01 = (DESCRIÇÃO = (ADDRESS_LIST = (ADDRESS = (PROTOCOLO = TCP) (HOST = orasvr02) (PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = db01))

Este tnsnames.ora particular contém 2 TNS (Transport Network Substrate) aliases, um para dev12c e um para db01. Ao se conectar a uma instância de banco de dados, na verdade você especifique o alias TNS (não o nome do banco de dados). O alias TNS pode ser qualquer nome (como dev12c ou algo mais genérico, como dev ou trainingdb). Essa flexibilidade significa que você pode ter um apelido genérico e não codificar o nome do banco de dados.

Sob HOST você especificar o nome de host DNS ou o endereço IP do servidor que contém a instância do banco de dados. Mais uma vez, tentar evitar valores codificados, como endereço IP e usar nomes de DNS, se possível.

PORT é a porta que o processo de escuta do lado do servidor está escutando. É também a porta que você se conectar através da rede on para o seu tráfego OracleNet (assim os firewalls devem ser abertas nessa porta).

SERVICE_NAME é o nome da instância de banco de dados que você está tentando se conectar ao serviço. Você também pode usar SID, embora a Oracle está promovendo o uso de SERVICE_NAME em seu lugar.

O arquivo tnsnames.ora é baseado em texto, e você pode editá-lo com a mão. Depois de fazer alterações, não é necessário reiniciar o processo de banco de dados ou ouvinte.

Como testar a conexão com o Oracle 12c

A melhor maneira de testar uma conexão é através da aplicação, mas isso nem sempre é possível. De preferência, você está na camada do cliente e realmente percorrer o mesmo caminho de rede como os aplicativos cliente

Para executar um teste de conectividade, siga estes passos para determinar se você pode se conectar à instância de banco de dados:

  1. Ir para a camada de cliente.

  2. Veja se o software cliente Oracle como o SQL * Plus e tnsnames.ora está instalado.

  3. Executar um sqlplus nome de usuário@tns_alias, tais como sqlplus mwhalen @ dev12c.

  4. Digite a senha para se conectar ao banco de dados.

Usando o utilitário tnsping é um método ainda mais rápida que não requer uma palavra-passe. Este utilitário se conecta através da rede via o ouvinte e estabelece um aperto de mão. Em seguida, ele termina a ligação e relata os resultados, o que você vê aqui:

$ Tnsping dev12cTNS Ping Utility para Linux: Versão 12.1.0.1.0 - Produção on-19-maio ​​2013 12: 20: 07Copyright (c) 1997, 2013, Oracle. Todos os direitos reserved.Used arquivos de parâmetros: Adaptador /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.oraUsed TNSNAMES para resolver o aliasAttempting para contato (DESCRIÇÃO = (ADDRESS = (PROTOCOL = TCP) ( HOST = 
localhost) (PORT = 1521)) (CONNECT_DATA = (SERVER = dedicado) (SERVICE_NAME = dev12c))) OK (20 ms)

Testando conexões é uma etapa boa verificação para o DBA. Se ocorrerem problemas, ele permite que você pegá-los primeiro em vez de confiar em usuários relatá-los mais tarde.

menu