Ambientes de banco de dados de missão crítica e que necessitam prover alta disponibilidade dependem de infraestruturas de hardware e software adequadas ao negócio. Nestes ambientes a indisponibilidade de um banco de dados pode resultar em grandes prejuízos para a corporação. Pensando nisso, a Oracle disponibiliza diversos recursos que ajudam a reduzir drasticamente o risco de indisponibilidade nos ambientes de banco de dados.
Dentre as principais soluções de alta disponibilidade (ou HA – High Availability) oferecidas pela Oracle, podemos citar duas consideradas chaves e que atuam cada uma em determinado cenário de desastre, ou seja, são complementares:
· Oracle Real Application Clusters: é formado por um cluster de duas ou mais máquinas que compartilham um (ou mais) storage(s), conforme a Figura 1. Esta solução garante a continuidade do negócio em caso de falha em algum dos servidores que compõem o cluster. Este modelo é bastante utilizado e muito eficiente na maioria das falhas mais comuns e costuma ser implementado localmente no data center, mas é possível a implementação de nós do cluster separados geograficamente, desde que a infraestrutura seja adequada e a distância não seja muito grande (latência de rede baixa);
Figura 1. Modelo Oracle RAC.
· Oracle Data Guard: permite a replicação física (ou lógica) dos dados de uma instância de banco de dados para outra infraestrutura independente (vide Figura 2). O Data Guard costuma complementar o Real Application Clusters em algumas situações de falha que um ambiente RAC não poderia evitar. Alguns exemplos são falhas nos componentes de storage, catástrofes naturais, incêndios, etc. Com o Oracle Data Guard é possível manter servidores redundantes a milhares de quilômetros de distância, ou mesmo possuir diversos sites remotos recebendo a replicação de um banco principal e ainda permitir que o banco réplica possa ser consultado (read only) desde que seja adquirida a option Active Data Guard.
Figura 2. Modelo Oracle Data Guard.
Neste artigo vamos explorar melhor o standby físico, mais especificamente usando a funcionalidade Fast-Start Failover do Data Guard. Para tanto, iremos explicar como simular um ambiente completo de contingencia usando máquinas virtuais, que será composto pelos seguintes componentes:
· Data Guard: é a base da infraestrutura. Precisamos de uma base de dados principal e pelo menos uma base de dados em standby, recebendo e aplicando transações;
· Data Guard Broker: é o gerenciador do Data Guard. Com ele é possível automatizar boa parte da configuração do Data Guard e é ele quem guarda informações chave das configurações de replicação;
· Flashback Database: garante rápida recuperação da base standby no momento de um failover, pois permite retornar o estado da base de dados a um momento anterior à falha para sincronizar com as transações da (nova) base de produção e iniciar a aplicação de redo logs;
· FSFO Observer: é um equipamento à parte das máquinas de produção e standby. Consiste de uma máquina com um Oracle Client instalado (independente de SO) que mantém um serviço DGMGRL CLI (Data Guard Broker Command Line Interface) e “observa” o comportamento dos componentes do Data Guard. Em caso de falha do ambiente produtivo, avalia a necessidade de realizar um failover e instanciar novamente a base que falhou, seguindo algumas condições pré-configuradas. Este componente é considerado de baixa necessidade de recursos computacionais e independente de sistema operacional, necessitando apenas que seja homologado para executar o Oracle Client. A Oracle recomenda que a máquina Observer esteja o mais próximo possível das estações qu ...