Pensando em produtos Oracle e solução de alta disponibilidade, proteção de dados e recuperação de desastres, há o Data Guard para atender à essas funções. De modo geral, ele permite a recuperação de desastres por meio do failover, ou seja, a transição de roles entre os databases; e a realização de manutenções sem perda de dados nos ambientes, por meio de switchover, ou seja, a reversão de roles entre os databases.
A partir de um banco de dados Oracle de interesse, o qual será o primary database, é possível relizar a configuração do DG, surgindo então, pelo menos um banco de dados adicional, o qual será o standby database, e a comunição entre os membros do Data Guard se dá pelo Oracle Net. O processo de funcionamento do DG, pode ser resumido em:
- Os dados de REDO que são gerados no primary database (provenientes de transações e do funcionamento desse database), são transportados a um standby database para mantê-lo atualizado, sendo que esse transporte pode ser síncrono ou assíncrono (sync | async), o que impacta nos modos de máxima proteção, máxima disponibilidade e máxima performance que podem ser atribuídos ao funcionamento do DG.
- Uma vez que os dados de redo chegam no ambiente standby, esses são aplicados no database pelo processo MRP, nos casos de standby database, ou convertidos logicamente pelo processo LSP e posteriormente aplicados, nos casos de logical standby.
- Caso seja detectada a ausência de archived redo log files no standby, esses arquivos são solicitados ao processo FAL, a fim de resolver gaps de atualização entre os databases.
- Opcionalmente, o standby pode estar sendo gerenciado por meio do Data Guard Broker, e nesses casos o processo DMON opera para trabalhar com pré-definições, além de efetuar os comandos recebidos através de um client.
Observação: A arquitetura do Data Guard pode ser observada em uma imagem anexada à essa publicação.

Elaborei um cenário de configuração geral e simples, abordando os três tipos de databases standby (physical, logical e snapshot) gerenciados pelo Data Guard Broker, o que pode ser observado em duas imagens anexadas na publicação. As configurações foram realizadas em ambientes Oracle Linux 7.9 com Databases Oracle Single Instance Multitenant.


Além de uma boa configuração e planejamento de desastres, para garantir as funcionalidades do DG, é fundamental que o seu funcionamento seja observado e acompanhado, visando a atualização dos ambientes, de modo a mitigar e eliminar erros e possíveis atrasos, conferindo êxito às manobras de failover e switchover.
O Oracle Data Guard é uma das soluções Oracle presentes na sua arquitetura de máxima disponibilidade, destacando a capacidade de integração do DG com demais produtos, a exemplo de Data Guard em ambiente RAC, e da criação de Downstream Mining Database a partir da utilização do Oracle GoldenGate em databases standby.
Referência
Linkedin: Revisando algumas caracterísitcas e a importância do Oracle Data Guard (DG).