Home - www.devmedia.com.br


Oracle 9i – Conexões de rede

Parte IV– Configurando o ouvidor (listener)

Continuando este assunto relativamente extenso, iremos aprender a configurar o ouvidor (listener) de maneira estática e dinâmica, entrando em contato com o arquivo de configuração e todos os seus parâmetros.

Este artigo abordará fundamentalmente a configuração estática e no próximo abordaremos a dinâmica.

Este conceito é especialmente importante, pois sem ele não há conexão possível ao servidor de BD Oracle.

Sugiro que o internauta efetue seus próprios testes para que eventuais dúvidas surjam e fico no aguardo dela para ser sanada.

Boa leitura.

Configuração do Serviço e Registro

O listener pode ser configurado de duas maneiras: dinâmica ou estaticamente.

·         Registro dinâmico do serviço:

Uma instância Oracle 9i utiliza o registro de serviço para informar ao listener sobre o serviço de BD. O registro do serviço depende do processo em segundo plano PMON para registras as informações da instância para o ouvidor.

Quando uma instância é inicializada, os parâmetros de inicialização sobre o listener são lidos do arquivo de parâmetros de inicialização para que o PMON registre informações para o listener. Caso o listener não esteja “no ar” no momento da inicialização da instância. O PMON não registrará as informações. Se isto acontecer, o PMON irá continuar tentando contatar o listener. O listener irá rejeitar qualquer conexão feita através de um serviço não registrado.

·         Registro estático do serviço:

O registro estático do serviço é utilizado principalmente pelas versões do Oracle 8 e anteriores. Será utilizado o arquivo de configuração listener.ora e é requerido também para a utilização do Oracle Enterprise Manager (OEM) e outros serviços como procedimentos externos e serviços heterogêneos.

Registro Estático do Serviço: O arquivo listener.ora

Para utilizar o registro estático do serviço, é necessário utilizar o arquivo listener.ora, que deve está localizado na máquina em que o listener está localizado, usualmente o servidor de BD.

Este arquivo contém as seguintes informações de configuração:

·         O nome do listener;
·         O endereço do listener;
·         Os bancos de dados que utilizam o listener;
·         Parâmetros do listener.

A Listagem 1 apresenta a configuração básica de um arquivo listener.ora. Comentarei cada linha a seguir.

Listagem 1: Conteúdo do arquivo listener.ora

1. LISTENER =
2.  (ADDRESS_LIST =
3.   (ADDRESS = (PROTOCOL = TCP)
                (HOST = BR011414)
                (PORT = 1521)))
4. SID_LIST_LISTENER =
5.  (SID_LIST =
6.   (SID_DESC =
7.    (ORACLE_HOME = /u01/oracle)
8.    (GLOBAL_DBNAME = DBA.sqlmagazine.com.Br)
9.    (SID_NAME = DBA)))


Vejamos agora a explicação de cada uma das linhas do conteúdo padrão de um arquivo
listener.ora:

1.       Identificação do nome do listener. Por padrão o nome é “LISTENER”; (Sugestivo, não?)

2.       O parâmetro ADDRESS_LIST possui um bloco de endereçamento que o listener utilizará para “ouvir” as requisições de conexão. Os endereços definidos neste bloco representam as diferentes maneiras que um listener pode receber uma conexão;

3.       O endereço TCP indica o protocolo de conexão (TCP, que é o protocolo padrão) vindo dos clientes da rede que se conectarão através da porta 1521 (porta padrão definida pela Oracle). É importante lembra que a porta deverá ser a mesma configurada no arquivo tnsnames.ora que se encontra nas estações cliente. Perceba também que é baseado no parâmetro SID_LIST que o listener especifica qual o banco de dados a ser conectado e que é possível configurar vários listeners desde que possuam nomes e portas únicas. Cada listener configurado terá sua própria SID_LIST, porém um mesmo banco de dados pode ser servido por vários listeners;

4.       Como o listener pode “ouvir” mais de um banco de dados na máquina, é preciso definir o parâmetro SID_LIST_nome_do_listener, que é justamente onde está configurado o SID do banco de dados;

5.       O parâmetro SID_LIST deverá ser definido caso haja mais de um SID;

6.       Para cada SID definido, deverá haver um SID_DESC, que possui os parâmetros das linhas 7 e 8;

7.       O parâmetro ORACLE_HOME identifica o local de instalação do serviço, permitindo que o listener identifique a localização do arquivo executável Oracle;

8.       GLOBAL_DBNAME define o nome global do banco de dados, que é composto pelo nome do banco de dados e o domínio do banco de dados. No exemplo, DBA indica o nome que foi definido para o banco de dados e sqlmagazine.com.br identifica o domínio ao qual o banco de dados pertence;

9.       Finalmente, o parâmetro SID_NAME define o nome do SID em que o listener aceitará conexões.

A Tabela 1 mostra outros parâmetros que podem estar presentes no arquivo listener.ora. Perceba que, na coluna dos parâmetros, existem valores entre parêntesis, que são os valores padrão adotados pela Oracle.

Tabela 1: Parâmetros adicionais do arquivo listener.ora

Parâmetro

Descrição

ADDRESS

Define o protocolo de endereçamento

LOG_DIRECTORY_nome_do_listener
(Unix: $ORACLE_HOME/network/log
Windows: ORACLE_HOME\network\log)

Define qual o diretório que será gravado o arquivo de log do listener

LOG_FILE_nome_do_listener
(listener.log)

Define o nome do arquivo de log do listener

LOGGING_nome_do_listener
(ON)

Habilita ou desabilita o registro dos acontecimentos com o listener, o famoso arquivo de log

PASSWORDS_nome_do_listener

Especifica uma senha não criptografada para autenticação no utilitário Listener Control (LSNRCTL) para comandos protegidos

SAVE_CONFIG_ON_STOP_nome_do_listener
(FALSE)

Qualquer alteração feita pelo comando LSNRCTL SET será uma alteração permanente caso este parâmetro esteja configurado como TRUE

SID_LIST_nome_do_listener

Define a lista de SIDs que o listener irá atender

TRACE_DIRECTORY_nome_do_listener
(Unix: $ORACLE_HOME/network/trace
Windows: ORACLE_HOME\network\trace)

Define qual o diretório que será gravado o arquivo de rastreamento do listener

TRACE_FILE_nome_do_listener
(listener.log)

Define o nome do arquivo de rastreamento do listener

TRACE_LEVEL_nome_do_listener
(OFF)

Habilita ou desabilita o rastreamento para um determinado nível:
user - Informações de rastreamento de usuários
admin - Informações de rastreamento do administrador
support - Informações de rastreamento do serviço de suporte da Oracle

Oracle Net Manager

A Oracle disponibiliza uma interface gráfica para se efetuar a configuração do listener. Esta interface é conhecida como Oracle Net Manager (Figura 1) e é instalada juntamente com o software do banco de dados.

Durante a instalação das versões Enterprise Edition ou Standard Edition no servidor, o Oracle Net Configuration Assistant configura automaticamente um listener com o nome padrão (LISTENER) utilizando o protocolo TCP/IP.


Figura 1. Oracle Net Manager.

Caso precise criar um listener adicional, utilize o próprio Oracle Net Manager para configurar o listener adicional no arquivo listener.ora.

Expanda a árvore Configuração do Oracle Net > Local > Listener e depois selecione o comando Criar no menu Editar. (Figura 2)


Figura 2. Criando um novo listener.

Será exibida a tela de definição do nome do novo listener (no nosso caso criaremos o listener chamado SQLMagazine) (Figura 3).


Figura 3. Definição do nome do novo listener.

Agora adicione um endereço para definir os Locais de Atendimento. Clique no botão Adicionar Endereço e forneça as informações de Protocolo, Host e Porta. (Figura 4)


Figura 4. Definição dos locais de atendimento.

Não se esqueça de modificar a porta caso algum outro listener já esteja utilizando a porta padrão 1521.

Agora basta salvar esta configuração através do menu Arquivo > Salvar Configuração de Rede.

Neste momento o listener está criado, mas ainda não está configurado o serviço de banco de dados ao qual ele atenderá.

Selecione a opção Serviços de Banco de Dados na lista drop-down e depois clique no botão Adicionar Banco de Dados.

Para finalizar, informe o Nome do Banco de Dados Global, Diretório do Oracle Home e o SID do banco de dados. Por último, salve as alterações no menu Arquivo > Salvar Configuração de Rede. (Figura 5)


Figura 5. Definição dos serviços do banco de dados.

No exemplo, não foi necessário definir o Nome do Banco de Dados Global por se tratar de uma máquina de testes em ambiente stand alone.

Outra configuração que pode ser necessária é a de registro de acontecimentos (logging) e rastreamento (trace).

Selecione a opção Parâmetros Gerais na lista drop-down e depois clique no guia Log & Rastreamento.

Habilite ou desabilite as opções de log ou rastreamento através dos respectivos botões de rádio e finalmente defina o caminho e nome dos arquivos que serão gravados. No caso do rastreamento, defina também o nível de rastreamento através da lista drop-down. Como sempre, salve as alterações no menu Arquivo > Salvar Configuração de Rede. (Figura 6)


Figura 6. Opções de Log & Rastreamento.

Um ponto importante a ser observado é que os arquivos de log e especialmente o de rastreamento costumam consumir um elevado espaço em disco, devido a seu crescimento constante. É importante monitorar este crescimento para não gerar problemas futuros de espaço.

E lembre-se, o rastreamento deve ser utilizado caso seja realmente necessário.

Conclusões

Neste artigo, você conheceu a fundo a configuração estática do listener, que é fundamental para qualquer conexão ao BD Oracle. Não se esqueça que o conhecimento do arquivo listener.ora é de suma importância para a administração de um BD Oracle.

Envie suas dúvidas e sugestões para enriquecer esta coluna. Estou esperando seu e-mail.

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