Por que eu devo ler este artigo:Evitar fracassos e falhas na disponibilidade do banco de dados é uma tarefa difícil que exige investimento e profissionais especializados. Travamento de servidores, velocidade da conexão via rede, sobrecarga de trabalho nos servidores, tempo de recuperação do banco de dados, tempo em downtime muito elevado, o retardo da entrega ou armazenamento dos dados são alguns dos fatores que influenciam negativamente qualquer solução para alta disponibilidade em banco de dados.

Neste artigo, será apresentada a ferramenta Oracle Real Application Cluster, que é uma solução para alta disponibilidade em banco de dados. Será visto todo processo de implantação e configuração desta ferramenta em sistema operacional Linux. O tema é útil para demonstrar todo processo de instalação e configuração da ferramenta Oracle Real Application Cluster em um ambiente com máquinas virtuais.

As organizações estão cada vez mais dependentes do funcionamento adequado de seus bancos de dados devido ao impacto de seu mau funcionamento e prejuízos gerados. Implantar soluções que realmente garantam a alta disponibilidade em banco de dados e software, mantendo-o disponível o maior tempo possível com menor número de falhas, juntamente com alto desempenho e segurança, é a procura de várias empresas. Dessa forma, ferramentas como a Oracle Real Application Clusters, também chamada de Oracle RAC, tornam-se uma solução para criação de um ambiente de alta disponibilidade.

A Oracle RAC é um cluster que consiste em múltiplos computadores interconectados que têm como objetivo compartilhar e processar requisições efetuadas com softwares para usuários finais, tornando o banco de dados distribuído.

A Figura 1 exemplifica sua arquitetura e funcionamento. As três aplicações/servidores web são usuários finais que enviam requisições aos servidores (nodos) clusterizados. Antes da requisição ser recebida por um dos servidores, o processo responsável por efetuar a conexão é o chamado SCAN (Single Client Access Name), que trabalha como um intermediário entre conexões de usuários e banco de dados.

As conexões só são permitidas quando não há interrupções entre máquinas usuários, nodo do cluster e servidor de banco de dados. Em seguida, cada instância interligada recebe as requisições efetuando o balanceamento de carga a fim de distribuir o processamento.

Essa distribuição se dá pelo monitoramento de cada instância que é feito por um processo em background chamado Heartbeat (é um daemon que trabalha em background usado para monitorar se determinado computador está ativo ou não.

Ele deve ser combinado com um gerenciador de cluster que possui como tarefa iniciar e parar serviços como endereços IP e servidores web).

SCAN (Single Client Access Name) é uma camada entre os clientes e os ouvintes locais do cluster. Atua como uma única conexão para clientes deixando transparente a falha de algum nodo do cluster. O SCAN precisa que sejam definidos no mínimo três endereços IPs que estejam na mesma sub-rede para utilizar o balanceamento de carga e para alta disponibilidade independentemente do número de nodos no cluster.

O benefício para os clientes que usam o SCAN é que eles não precisarão de mudanças de configurações se adicionarmos ou removermos nós no cluster.

Figura 1. Arquitetura do Oracle RAC

É importante observar que o processo de implantação e criação de um cluster deve contemplar uma análise e projeção da estrutura do ambiente de acordo com a especificidade da empresa, entre outras características e necessidades. Neste contexto, este artigo apresenta na prática a instalação da ferramenta Oracle Real Application Clusters em sua versão 11g Release 2. A Oracle Real Application Clusters fornece benefícios como:

· Alta disponibilidade: segurança para falhas em servidores e instâncias;

· Escalabilidade: adicionar mais nodos/servidores em necessidade futuras;

· Custo: somente é pago o que é utilizado;

· Computação em grade (Grid);

· Aumento e diminuição do cluster conforme necessidade;

· Adicionar e remover nodos com facilidade;

· Utilização de repositório de carga;

· Execuções de processos de forma paralela;

· Distribuição de carga entre os nodos do cluster.

Um dos mais importantes componentes da Oracle RAC é o Oracle Clusterware, um software que agrupa todos os servidores individuais para que cooperem como um único sistema. Este software pode gerenciar todos os processos do cluster de forma independente assegurando proteção para o ambiente clusterizado.

Qualquer processo que ele gere é conhecido como um recurso de cluster, que pode ser uma instância ou um serviço. O Oracle Clusterware possui quatro daemons que são iniciados em respawn, ou seja, é responsável pela reinicialização do serviço caso seja finalizado de forma inesperada ou incorreta. Os daemons são:

· CSSD (Cluster Syncronization Services Daemon): responsável por controlar todos os nodos do cluster e ajudar no monitoramento de saúde dos nós usando Voting Disk. Se falhar, o servidor é reiniciado imediatamente. É o processo principal no cluster;

· CRSD (Cluster Ready Services Daemon): responsável pela realização de todas as operações de recuperação e gerenciamento da alta disponibilidade como o gerenciamento do OCR (Oracle Cluster Registry). Caso algum recurso falhe, ele é reiniciado, e se o serviço falhar, o serviço é reiniciado sem reiniciar o servidor;

· EVMD (Event Manager Daemon): responsável por publicar os eventos que o CRS cria como, por exemplo: início da instância, parada da instância, início e parada do listener. Caso falhe, é reiniciado sem reiniciar o servidor;

· OPROCD (Process Monitor Daemon): responsável pela monitoração do cluster a fim de fornecer I/O fencing. Quando o nodo apresentar algum problema, esse processo I/O é removido. É um processo filho do CSSD, e se falhar é reiniciado sem reiniciar o servidor.

OCR é o arquivo de controle do cluster onde são armazenadas informações de status de cada recurso, como: os nomes dos nodos, os endereços IPs e VIPs, qual a localização do Voting Disk, nome do banco de dados e instâncias, nome dos listeners, etc.

A perda desse arquivo implica em parada total do ambi ...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo