Home - www.devmedia.com.br

 

Oracle 9i – Conexões de rede

Parte I – Entendendo as conexões ao servidor de BD

Irei iniciar esta série de artigos tratando do assunto de conexão ao servidor Oracle 9i. Apesar de parecer ser uma tarefa banal , em muitos casos a solução do problema está simplesmente em configurar corretamente a conexão ao servidor de BD.

A melhor maneira de isso acontecer é a partir do entendimento de cada parâmetro , cada linha de configuração dos arquivos responsáveis por este processo .

Uma vez entendido o procedimento, dificilmente seremos surpreendidos por mensagens de erro de conexão , que nem sempre são tão óbvias quanto parecem.

Conexões na Rede Oracle

Utilizamos uma rede Oracle para estabelecer conexões entre a aplicação e o servidor Oracle em um ambiente de rede , considerando os seguintes fatores :

  • A configuração de rede ;
  • A localização dos nós de rede ;
  • A aplicação que acessará o BD;
  • O protocolo de rede que será utilizado.

Os tipos de conexão utilizados dividem-se em três categorias :

  • Aplicações Cliente-Servidor (Client-Server);
  • Aplicações Java;
  • Aplicações de Cliente Web (Web Client).

Conexão em aplicações Cliente-Servidor

A função de uma rede Oracle é simplesmente habilitar uma conexão entre um cliente e um servidor de BD Oracle. Nada mais é que um componente presente em ambos os lados da conexão e é a camada mais alta do protocolo de rede .

Quando uma conexão é iniciada em um cliente para o servidor de BD, as informações desta requisição são passadas para baixo nas camadas de rede do cliente , são transportadas através do meio físico de rede e finalmente são enviadas para cima nas camadas de rede do servidor . A Figura 1 ilustra o processo.

Figura 1. Conexão em uma aplicação Cliente-Servidor.

Aplicação do Cliente .

A aplicação do cliente ( como o SQL*Plus, por exemplo ) utiliza a OCI (Oracle Call Interface ) para se comunicar com o servidor de BD. A OCI nada mais é que um componente que fornece interface entre a aplicação do cliente e a linguagem SQL que o BD pode entender .

Two Task Common.

Ou simplesmente TTC é o responsável pela conversão do tipo de dado e o character set entre os diferentes formatos presentes no cliente e servidor de BD. É uma implementação da camada de apresentação do modelo OSI.

Rede Oracle, Camada Base .

A camada base da rede Oracle é a responsável em estabelecer e manter a conexão entre a aplicação do cliente e o servidor de BD. Deve estar presente em ambos os lados da conexão .

No lado cliente , é responsável pelos seguintes assuntos de conectividade:

  • Localização do servidor de BD;
  • Se um ou mais protocolos estão envolvidos na conexão;
  • Como manusear exceções e interrupções.

Já no lado servidor , além de responsabilizar-se pelas mesmas atividades executadas no lado cliente , trabalha com o “ ouvidor ” (listener) para receber pedidos de conexão .

Esta camada também se comunica com o serviço de nomeação e com o Oracle Advanced Security para garantir conexões seguras.

É a implementação da camada de sessão do modelo OSI.

Protocolo de Suporte Oracle.

É responsável pelo mapeamento das funcionalidades da Rede Oracle para os protocolos padrão das industrias usados em conexões entre as aplicações cliente e o servidor de BD. Esta camada suporta os seguintes protocolos de rede :

  • TCP/IP;
  • TCP/IP com SSL;
  • Named Pipes.

OPI (Oracle Program Interface )

Interface utilizada pelo servidor de BD Oracle ao invés da OCI. É a camada de rede responsável por responder a cada uma das possíveis mensagens vindas da OCI.

Conexão em aplicações de cliente Web

Podemos estabelecer conexões com um servidor de BD Oracle através de navegadores Web. É possível de duas maneiras :

  • Utilizando um servidor Web como camada intermediária ;
  • Conectando-se diretamente ao servidor Oracle através de http.

Servidor Web como camada intermediária

Nesta modalidade de conexão , o navegador Web utiliza-se do protocolo HTTP para “ chamar ” uma aplicação ou applet Java em um servidor Web. O servidor Web, assumindo o papel de cliente com a rede Oracle instalada, conecta-se ao servidor de BD Oracle utilizando a rede Oracle ( Figura 2 ). A rede Oracle deve estar instalada tanto no servidor Web ( que atua como cliente ) quanto no servidor de BD Oracle.


Figura 2. Conexão de um cliente através de servidor Web.

Cliente Web utilizando aplicação Java

Caso a escolha de conexão entre o servidor Web e o Servidor de BD Oracle tenha sido uma aplicação Java, o servidor Web será o cliente e será necessário utilizar um driver JDBC para comunicação com a rede Oracle para conectar-se ao servidor de BD Oracle. Não podemos esquecer que o servidor de BD também deverá estar configurado com a rede Oracle.

É interessante notar que não há diferença na maneira com que os dados são passados para baixo ou para cima nas camadas de rede do cliente e do servidor de BD. Este esquema é mostrado na Figura 3 .


Figura 3. Conexão de um cliente com aplicação Java em servidor Web.

Cliente Web utilizando applet Java

Já no caso de um applet Java ser “chamado” no servidor Web para iniciar uma conexão com o servidor Oracle (o servidor Web também passa a ser o cliente ) o driver JDBC Thin é utilizado. Este driver “ conversa ” com a rede Java para comunicar-se com o servidor de BD Oracle, que deve estar configurado com a rede Oracle. Ele utiliza uma implementação Java da camada base da rede Oracle, chamada rede Java (JavaNet) e uma implementação Java do TTC, chamado JavaTTC. ( Figura 4 )

As diferenças de transporte dos dados entre as camadas de rede terminam por aqui .


Figura 4. Conexão de um cliente com applet Java em servidor Web.

Conexão Web utilizando HTTP

Neste tipo de conexão , a rede Oracle não é necessária nem no cliente nem no servidor , porém o servidor de BD Oracle deve estar configurado para suportar este protocolo . Outro ponto é que não é necessário também um servidor de Web para a conexão . A Figura 5 mostra este esquema .


Figura 5. Conexão Web usando HTTP.

Podemos configurar o “ ouvidor ” (listener) para aceitar conexões HTTP. É comumente usado para conexões a aplicações que são parte do banco de dados , por exemplo , pode-se usar o Oracle Internet File System ( sistema de arquivos de internet Oracle) para exibir o conteúdo do banco de dados para o cliente através de uma grande variedade de protocolos , inclusive HTTP. Este esquema é ilustrado pela Figura 6 .

Figura 6. Conexão direta através de navegador Web.

Conclusões

Finalizo aqui esta primeira parte sobre conexão ao banco de dados Oracle. Veja que e grande o número de possibilidades de configuração de ambiente para acesso ao banco . O mais importante é efetivamente entender o mecanismo utilizado pela ferramenta para que não haja surpresas no momento da conexão . A partir do momento que o processo é conhecido , torna-se muito mais fácil identificar eventuais problemas que impossibilitam interagir com o BD simplesmente por falha em uma conexão . Quando o ambiente está configurado de acordo com a necessidade imposta pelo sistema , a probabilidade de problemas deste tipo diminui sensivelmente.

Espero que tenha sido útil e espero também que você acompanhe esta série de artigos sobre conexão ao banco de dados Oracle.

Um grande abraço e até a próxima .

 

 

Ricardo Rezende (ricardo@sqlmagazine.com.br) é DBA Oracle na IBM do Brasil em projeto internacional, possui cursos oficiais pela Oracle University, consultor independente de Bancos de Dados, subeditor da revista SQL Magazine, editor do Website da SQL Magazine e professor licenciado pelo Centro Estadual de Educação Tecnológica “Paula Souza” na unidade de Taubaté-SP.

  ARTIGOS    
  Oracle 9i – Conexões de rede, Parte V    
  SQL Magazine Tech Day    
  Oracle 9i – Conexões de rede, Parte IV    
  Oracle 9i – Conexões de rede, Parte III    
  Boas-Vindas do Editor    
  Oracle 9i – Conexões de rede, Parte II    
  Oracle 9i – Conexões de rede, Parte I    
  II CONISLI – 2º Edição do Congresso Internacional de Software Livre    
  RAID – Parte IV
Recomendações de mais Fabricantes
   
  Oracle Open World
   
  Raid - Parte 3
Recomendações dos Fabricantes

   
  Raid - Parte 2
Armazenamento com segurança,
performance e baixo custo

   
  Bases de Dados em Linux
2º edição do evento
   
  Raid - Parte 1
Armazenamento com segurança, performance e baixo custo
   
  Álgebra Relacional – Parte II
Linguagem de consulta formal
   
  Álgebra Relacional – Parte I
Linguagem de consulta formal
   
  Conceitos Fundamentais de Banco de Dados - Parte 2    
  Conceitos Fundamentais de Banco de Dados - Parte 1    
  VIDEO-AULAS    
  Bind Variables no BD Oracle    
       
     

 

Todos os direitos reservados: DevMedia Group
SQL Magazine - 2004