• Luiz Alcoba

Oracle Data Guard - Visão geral

O Oracle Data Guard proporciona a infraestrutura de software de automação, monitoração e gerenciamento para criar e manter um ou mais bancos de dados em standby para proteger os dados Oracle contra falhas, desastres, erros e corrupção de dados.


Existem dois tipos de banco de dados em standby.


  • Standby físico - usa Redo Apply para manter uma réplica exata, bloco a bloco, do banco de dados principal.

  • Standby lógico - usa SQL Apply e contém as mesmas informações lógicas que o banco de dados principal, embora a organização física e a estrutura dos dados possam ser diferentes.

Os administradores podem escolher fazer o failover manual ou automático da produção para um sistema em standby se o principal falhar para poder manter a alta disponibilidade para aplicativos de missão crítica.

O Data Guard é um dos inúmeros recursos integrados de Alta disponibilidade (HA) do banco de dados Oracle que garantem a continuidade dos negócios minimizando o impacto do tempo de inatividade planejado e não planejado. Os bancos de dados em standby Data Guard fornecem alto retorno do investimento também suportando consultas ad-hoc, geração de relatórios, backups ou atividades de teste, ao mesmo tempo em que fornecem proteção contra desastres.

Especificamente:

  • A opção Active Data Guard, disponível a partir do Oracle Database 11g, permite que um banco de dados físico seja usado para aplicações somente leitura enquanto recebe simultaneamente atualizações do banco de dados principal. As consultas executadas em um banco de dados em standby ativo recebem resultados atualizados.

  • O recurso Snapshot Standby permite que um banco de dados físico em standby seja aberto como leitura-gravação para testes ou qualquer outra atividade que exija uma réplica dos dados de produção para leitura-gravação. Um Snapshot Standby continua a receber, mas não a aplicar, as atualizações geradas pelo banco de dados principal. Essas atualizações são aplicadas no banco de dados em standby automaticamente quando o Snapshot Standby é convertido de volta para um banco de dados físico em standby. Os dados do banco de dados principal sempre permanecem protegidos.

  • Um banco de dados lógico em standby tem a flexibilidade adicional de estar aberto como leitura-gravação. Apesar de os dados que estão sendo mantidos pelo SQL Apply não poderem ser modificados, outras tabelas locais podem ser adicionadas e estruturas locais de índice podem ser criadas para otimizar a geração de relatórios ou para utilizar o banco de dados em standby como um data warehouse ou para transformar a informação usada para carregar datamarts.

  • Os bancos de dados em standby podem ser usados para realizar manutenção planejada de maneira contínua. A manutenção é realizada primeiro em um banco de dados em standby. A produção é chaveada para o banco de dados em standby quando as tarefas de manutenção estiverem concluídas. O único tempo de inatividade é o tempo necessário para efetuar essa operação de chaveamento. Isso aumenta a disponibilidade e reduz os riscos ao realizar manutenção no hardware ou no sistema operacional, manutenção no site ou ao aplicar novos conjuntos de patches do banco de dados, atualizar versões completas de banco de dados ou implementar outras alterações significativas no banco de dados.

  • Um banco de dados físico em standby, por ser uma réplica exata do banco de dados principal, pode também ser usado para tirar a sobrecarga dos bancos de dados principais ao realizar backups.

Como o Data Guard funciona

Uma configuração do Data Guard inclui um banco de dados de produção, chamado de banco de dados principal, e até 30 bancos de dados em standby. Os bancos de dados principal e em standby se conectam através de TCP/IP usando o Oracle Net Services. Não há restrições em relação à localização dos bancos de dados desde que eles possam se comunicar entre eles. Um banco de dados em standby é criado inicialmente a partir de uma cópia de backup do banco de dados principal. O Data Guard sincroniza automaticamente o banco de dados principal e todos os seus bancos de dados em standby transmitindo os dados de recuperação (informação usada pela Oracle para recuperar transações) do banco de dados principal e aplicando-os no banco de dados em standby.

Serviços de transporte do Data Guard

Conforme os usuários confirmam as transações no banco de dados principal, o Oracle gera registros de recuperação e os grava em um arquivo de log on-line local. Os serviços de transporte do Data Guard transmitem os dados de recuperação para um banco de dados em standby tanto de forma síncrona como assíncrona, onde eles são gravados em um arquivo de redo log de standby (etapa um na Figura 3). Os dados de recuperação podem ser transmitidos em um formato comprimido para reduzir os requisitos de largura de banda através da Opção de Compressão Avançada Oracle.

O Transporte de dados de recuperação síncrono (SYNC) faz com que o banco de dados principal aguarde por uma confirmação do banco de dados em standby de que os dados de recuperação foram gravados em disco antes de reconhecer o sucesso da confirmação para o aplicativo, proporcionando proteção com zero de perda de dados. O desempenho do banco de dados principal é impactado pela soma do tempo necessário para que a E/S do arquivo de redo log de standby seja concluída e o tempo do percurso de ida e volta da rede.

O Data Guard é projetado para reduzir o impacto no desempenho principal do transporte síncrono. Os dados de recuperação são então transmitidos para o standby remoto em paralelo com a E/S do arquivo de log on-line local no banco de dados principal, evitando de forma efetiva que a E/S de standby impacte o tempo total do percurso de ida e volta. Isso possibilita maior separação geográfica entre os bancos de dados principal e em standby em uma configuração síncrona com perda de dados zero. Em redes com baixa latência, isso pode reduzir o impacto da replicação do SYNC no desempenho do banco de dados principal para próximo de zero, tornando interessante complementar um standby ASYNC remoto com um standby SYNC local para proteção de alta disponibilidade com perda de dados zero contra falhas no componente e no banco de dados (falha no SAN, por exemplo).

O Transporte assíncrono dos dados de recuperação (ASYNC) evita o impacto no desempenho do banco de dados principal fazendo com que o banco de dados principal reconheça o sucesso da confirmação para o aplicativo sem aguardar pelo reconhecimento de que os dados de recuperação tenham sido recebidos pelo banco de dados em standby. Os aprimoramentos no Data Guard 11g eliminaram virtualmente qualquer impacto no desempenho do banco de dados principal ao enviar diretamente do buffer de log principal (em vez de um arquivo de redo log on-line) e ao melhorar o throughput de rede em redes de longa distância (WAN) de alta latência. A vantagem de desempenho do ASYNC, entretanto, é acompanhada do potencial de uma pequena quantidade de perda de dados uma vez que não há garantia de que todos os dados de recuperação tenham sido recebidos pelo banco de dados em standby.


Modos de proteção

O Data Guard fornece três modos de proteção de dados para equilibrar custos, disponibilidade, desempenho e proteção de dados. Cada modo usa um método de transporte de dados de recuperação específico e estabelece regras que controlam o comportamento da configuração do Data Guard caso o banco de dados principal perca contato com seu banco de dados standby. A tabela a seguir descreve as características de cada modo.

Data Guard e Exadata

O Data Guard é a única tecnologia que pode manter uma réplica totalmente independente de um banco de dados Oracle residindo em um armazenamento Exadata para proteger contra falhas no banco de dados ou no local. Além disso, como o Data Guard em standby físico é a solução mais simples e com mais alto desempenho para manter uma cópia sincronizada independente do banco de dados Oracle, ele é a única tecnologia capaz de suportar os altos volumes gerados por uma Oracle Database Machine.

Data Guard e Oracle Real Application Clusters

O Data Guard e o Oracle RAC são tecnologias que se complementam fornecendo o mais alto nível possível de escalabilidade, disponibilidade e proteção dos dados. Qualquer combinação de Oracle RAC e bancos de dados de nó único pode participar e assumir qualquer função em uma configuração Data Guard. O Oracle RAC fornece a solução de Alta disponibilidade ideal para proteger contra falhas no servidor, ao mesmo tempo em que fornece recursos exclusivos no setor de gerenciamento da carga de trabalho e escalabilidade. O Data Guard fornece um nível adicional de disponibilidade dos dados e proteção com redundância completa que minimiza o tempo de inatividade devido a falhas no array de armazenamento, erros do operador, determinadas manutenções planejadas que não podem ser feitas de maneira contínua através dos nós do Oracle RAC ou diversas falhas correlacionadas que podem resultar em falha no banco de dados (por exemplo, falha no array SAN) ou falha no local (por exemplo, incêndio, enchente, etc).

Arquitetura de Máxima Disponibilidade

A Arquitetura de Máxima Disponibilidade da Oracle (MAA) é uma estrutura das práticas recomendadas da Oracle testadas e validadas pelo cliente para implantação das tecnologias de alta disponibilidade da Oracle. O objetivo da MAA é remover a complexidade e acelerar a curva de aprendizado do cliente para projetar e operar a arquitetura de melhor alta disponibilidade.

As práticas recomendadas da MAA incluem recomendações sobre vários aspectos de uma configuração Data Guard, como uma configuração com Oracle RAC, otimização do transporte de dados de recuperação, operações de chaveamento / failover, failover do cliente, desempenho do recurso Redo Apply, configuração e ajuste do recurso SQL Apply e o uso com o armazenamento Exadata e a Oracle Database Machine.

Conclusão

O Oracle Data Guard muda essencialmente o paradigma da recuperação em desastres oferecendo uma solução de Alta disponibilidade e recuperação integradas (HA/DR) com proteção de dados sem igual e onde sistemas em standby suportam simultaneamente funções de produção ou de teste enquanto estão na função de standby.

O Data Guard é uma solução abrangente de proteção de dados, disponibilidade de dados e recuperação de desastres para o banco de dados Oracle. Ele oferece uma estrutura flexível e fácil de gerenciar que resolve paradas planejadas e não planejadas.

Os bancos de dados em standby físicos e lógicos fornecem uma proteção de alto valor agregado, ao mesmo tempo em que liberam a sobrecarga dos bancos de dados principais. Os diversos modos de proteção de dados fornecem flexibilidade para se adaptar a diferentes níveis de exigências de proteção, desempenho e infraestrutura. O Data Guard Broker associado ao Oracle Enterprise Manager fornece uma estrutura de configuração e gerenciamento fácil de usar.

Independentemente de quanto a alta disponibilidade tenha sido implementada anteriormente em uma infraestrutura de TI através de clusters, espelhamento de disco e diversas estratégias de backup e recuperação, é fato que a proteção de dados, a disponibilidade e o seu retorno do investimento de TI são melhorados universalmente ao incluir o Data Guard em sua arquitetura de TI.

1 visualização

A2F

Whats 2.png

Tel. +55 (11) 5508-1111

Rua Jaceru, 384, Cj 905

CEP: 04705-000 - Brooklin

São Paulo | SP - Brasil

Conecte-se

  • Branca Ícone LinkedIn
  • Branco Facebook Ícone
  • Branco Twitter Ícone
  • Branca Ícone Instagram