Oracle 9i – Conexões de rede

Parte II – Terminologias e Conceitos

Nesta segunda parte da série de artigos sobre conexões de rede em um BD Oracle, veremos os conceitos e terminologias sobre conectividade e também uma introdução aos arquivos de configuração da conexão com o banco de dados. Veremos os arquivos necessários no lado cliente e também no lado servidor. Em um ambiente de testes, é possível fazer toda esta configuração em uma máquina “stand alone”, possibilitando a você testar seus conhecimentos em seu equipamento de estudo.

Então vamos ao que interessa.

Terminologia e conceitos de conectividade

Vejamos agora alguns conceitos importantíssimos quando estamos falando em conectividade em um ambiente com o BD Oracle. É importante salientar que estas terminologias e conceitos são aplicados para qualquer plataforma operacional, desde que devidamente suportadas pelo BD Oracle:

  • Database Service (serviço de banco de dados):

Para o cliente, um BD Oracle aparece como um serviço, ou seja, o BD executa o trabalho como representante do cliente. É possível existir um ou mais serviços associados a um BD, que pode ainda ser apresentado como múltiplos serviços e ainda um serviço pode ser implementado como várias instâncias do BD;

  • Service Name (nome do serviço):

É uma representação lógica do BD, é a maneira pela qual o BD se apresenta ao cliente. O service name é um string que representa o nome global do BD, ou seja, um nome composto do nome do BD e o nome do domínio. Esta definição é feita durante a instalação ou criação do BD.É necessário incluir o service name na seção de dados de conexão no descritor de conexão, que veremos a seguir;

  • Descritor de Conexão:

O descritor de conexão será utilizado pelo cliente para efetuar a conexão a um serviço. O descritor indica qual a localização do BD e qual o nome do serviço;

  • Listener (ouvidor):

A seção de endereço do descritor de conexão é o protocolo de endereço do listener. Para conectar a um serviço, primeiramente o cliente entra em contato com um processo ouvidor que se encontra no servidor de BD. O ouvidor recebe um pedido de conexão do cliente e manipula esta requisição para o servidor de BD. Uma vez estabelecida a conexão, o cliente e o servidor de BD passam a se comunicar diretamente;

  • Registro de Serviço:

O descritor de conexão também especifica o nome do serviço de BD com quais clientes tentam estabelecer uma conexão. O ouvidor conhece quais serviços podem enviar pedidos de conexão. Este processo é conhecido como registro de serviço. Ele também fornece informações sobre as instâncias de BD e também os manipuladores de serviço disponíveis para cada instância;

  • Manipulador de serviço:

Os manipuladores de serviço atuam como pontos de conexão para um servidor de BD Oracle. Um manipulador de serviço pode ser um despachante (dispatcher), que atende a várias conexões simultaneamente, ou um servidor dedicado, que atenderá apenas a uma conexão.

Modelos de configuração da rede Oracle

As informações de configuração podem ser armazenadas em um arquivo de configuração local ou em um repositório centralizado.

  • Gerenciamento Local:

Neste caso, todas as informações sobre a conexão estão armazenadas em um arquivo chamado tnsnames.ora em cada um dos computadores da rede (clientes);

  • Gerenciamento Centralizado:

Para este modelo de configuração, as informações sobre a conexão estão armazenados em um serviço de diretório centralizado, incluindo um servidor de diretórios LDAP ou um servidor de nomes Oracle.

Visão geral de métodos de nomeação

Métodos de nomeação são utilizados pela aplicação cliente para analisar um identificador de conexa para um descritor de conexão em uma tentativa de conexão com um serviço de BD.

Uma rede Oracle suporta cinco métodos de nomeação:

  • Nomeação no Servidor (Host naming):

Habilita o usuário em um ambiente TCP/IP para analisar nomeações através dos nomes de serviço existentes;

  • Nomeação Local (Local naming):

Localiza endereços de rede através da utilização de informações de configuração armazenadas em cada cliente no arquivo tnsnames.ora;

  • Nomeação em Diretório (Directory naming):

Analisa um serviço de BD ou nome de um serviço de rede para um descritor de conexão, armazenado em um servidor de diretório centralizado;

  • Oracle Names:

É um serviço de diretórios Oracle “maquiado” de um sistema de servidor de nomes Oracle que provê soluções de nomes para endereços para cada serviço na rede;

  • Nomeação Externa:

Utiliza-se de nomes de serviços de terceiros devidamente suportados.

Uma pequena empresa com apenas alguns BDs pode utilizar o método de nomeação no servidor para armazenar nomes em um serviço de solução de nomes existente ou o método de nomeação local armazenando nomes no arquivo tnsnames.ora em cada estação de trabalho.

Já uma grande corporação com vários BDs pode usar um método de nomeação em diretório armazenando os nomes em um servidor de diretórios LDAP centralizado, por exemplo.

Arquivos de configuração da rede Oracle

Dependendo do modelo de configuração adotado na corporação, os computadores da rede poderão utilizar os seguintes arquivos de configuração:

  • ldap.ora:

Localizado no cliente e no servidor de BD configurado para gerenciamento centralizado, este arquivo contém os parâmetros necessários para acessar um servidor de diretórios;

  • listener.ora:

Localizado no servidor de BD, este arquivo contém:

- protocolos de endereçamento que o ouvidor aceita em uma requisição de conexão;

- serviços de BD e serviços diversos aos quais ele está “ouvindo”;

- parâmetros de controle que são utilizados pelo ouvidor.

Obs.: Ao configurar o ouvidor para “escutar” o protocolo TCP/IP, você deve utilizar a porta padrão 1521. Caso não utilize a porta padrão, deverá ser configurado o parâmetro LOCAL_LISTENER no arquivo de parâmetros de inicialização (init.ora) e resolver o nome do ouvidor através de um método de nomeação;

  • names.ora:

Localizado no servidor de nomes Oracle, este arquivo inclui a localização, informações de domínio e parâmetros de configuração opcionais para o servidor de nomes Oracle;

  • tnsnames.ora:

Localizado apenas nos clientes, este arquivo contém os nomes dos serviços de rede mapeados para o descritor de conexão. Este arquivo é utilizado apenas no método de nomeação local;

  • sqlnet.ora:

Localizado tanto nos clientes quanto no servidor de BD.

Todos estes arquivos são criados tipicamente em $ORACLE_HOME/network/admin em ambiente UNIX/ UNIX Like e em %ORACLE_HOME%\network\admin em ambiente Windows.

No entanto, é possível criar esses arquivos em outra localizações, pois a rede Oracle procura por eles em vários locais.

A rede Oracle irá procurar os arquivos sqlnet.ora e ldap.ora na seguinte ordem:

1.       No diretório especificado pela variável de ambiente TNS_ADMIN. Caso não tenha sido definida como uma variável em ambiente Windows, deverá estar definida no registro (verificar através do regedit);

2.       Nos diretórios padrão, comentados acima, tanto em ambiente UNIX / UNIX Like quanto em Windows.

A rede Oracle procurará os arquivos names.ora, tnsnames.ora e listener.ora na seguinte ordem:

1.       No diretório especificado na variável de ambiente TNS_ADMIN, nas mesmas condições que os arquivos sqlnet.ora e ldap.ora; 

2.    Em ambiente UNIX/ UNIX Like, no diretório de configuração global. Para um ambiente SUN Solaris este diretório é /var/opt/oracle;

3.       Nos diretórios padrão, comentados acima.

Conclusões

Nesta segunda parte da série de artigos sobre conexão ao servidor de BD Oracle, pudemos entender os conceitos e terminologias utilizadas neste ambiente.

Este passo é extremamente importante para que não façamos o processo de configuração e conexão mecanicamente. É essencial que entendamos os conceitos para que não seja necessário utilizar “receitas de bolo”, que nem sempre dão certo. É nesses casos, em que a “receita de bolo” não funciona, que saberemos onde “mexer” para solucionar os problemas.

Na próxima parte do artigo, daremos continuidade com a configuração da rede Oracle no lado servidor.

Envie suas dúvidas e sugestões, elas são muito importantes para uma boa interatividade nesta coluna.

Um grande abraço e espero contar com seu acesso no próximo artigo.

Leia também