DML over Standby for Active Data Guard in 19c

With the new 19c version the Data Guard received some attention and now we can do DML over the standby and it will be redirect to primary database. It is not hard to implement, but unfortunately there is no much information about that in the docs about that.

As training exercise I tested this new feature and want to share some information about that. First, the environment that I used (and the requirements too):

  • Primary and Standby databases running 19c.
  • Data Guard in Maximum Availability .
  • Active Data Guard enabled.

Remember that the idea of DML over the standby it is to use in some cases where your reporting application need to update some tables and few records (like audit logins) while processing the data in the standby. The volume of DML is (and will be) low. At this point there is no effort to allow, or create, a multiple active-active datacenters/sites for your database. If you start to execute a lot of DML in the standby side you can impact the primary database and you adding the fact that you can maximize the problems for locks and concurrency.

More…

Observer, Where?

Some months ago I got one error with Oracle Data Guard and now I had time to review it again and write this article. Just to be clear since the begin, the discussion here it is not about the error itself, but about the circumstances that generated it.

The environment described here follow, at least, the most common best practices for DG by Oracle. Have 1 dedicated server for each one: Primary Database, Physical Standby Database and Observer. The primary and standby resides in different datacenters in different cities, dedicated network for interconnect between sites, protection mode was Maximum Availability and runs with Fast-Start Failover enabled (with 30 seconds for threshold). The version here is 12.2, but will be the same for 19c. So, nothing so bad in the environment, basic DG configuration trying to follow the best practices.

More…

Oracle e MAA – Artigo X

Nesta série de artigos apresentei um passo a passo sobre como configurar um ambiente Oracle RAC 11GR2 com Data Guard  e seguindo o MAA. Mas será que é só isso que você deve se preocupar? Para ter um banco de dados Oracle operando em MAA basta configurar o Data Guard? Neste último artigo da série vou falar um pouco sobre isso, um resumo dos artigos passados e o que podemos esperar pela frente (12C).

DÉCIMO ARTIGO

Neste artigo vou fazer um guia com os tópicos anteriores, algo sucinto. Também vou escrever sobre o que está além do MAA e Oracle, quais outros fatores que podem influenciar para o sucesso do ambiente. Por fim, o que temos para o Data Guard no Oracle 12C.

Continue lendo…

Oracle e MAA – Artigo IX – Failover Automático

Neste penúltimo da série sobre MAA com Oracle RAC 11GR2 vou falar um pouco sobre como ocorre o failover automático em caso de falha do primary. Vou demonstrar que basicamente você não faz nada, todo o trabalho “sujo” será pelo próprio Oracle.

NONO ARTIGO

Este artigo irá mostrar como o MAA resolve de forma automática todos os pontos de um failover. Claro que para isso você tem que ter tudo devidamente configurado e operacional. Você vai precisar de um Observer configurado e o Fast-Start Failover habilitado (como demonstrado aqui) bem como um Broker operacional (veja aqui). Se você leu os artigos anteriores você já tem tudo isso configurado e não irá se preocupar com mais nada.

AMBIENTE

Até o momento você tem um banco de dados primary (maa) e um banco de dados standby (maastb) sincronizados em Maximum Availability (com Real-Time no envio de redo). Além disso o Fast-Start Failover está habilitado.

Já aviso que o artigo pode ser extenso devido aos logs, tentarei suprimir as informações que não são necessárias. Mas mesmo assim recomendo a leitura para compreender tudo o que ocorre.

Continue lendo…

Oracle e MAA – Artigo VIII – Fast-Start Failover

Depois de configurar o Broker, precisamos de um último passo para garantir que os requisitos básicos do MAA estejam contemplados. Nos últimos artigos passamos por alguns passos que provavelmente você não iria realizar em produção (e nem gostaria), fizemos o failover e o switchover (ambos com o broker – que configuramos aqui).

OITAVO ARTIGO

Neste artigo vamos configurar/adicionar ao ambiente a figura do Observer, será habilitado o Fast-Start Failover (FSFO) no Broker para permitir um monitoramento em tempo real do ambiente. Com isso, em uma eventual falha do ambiente primary o standby irá assumir o papel sem ser necessário executar qualquer comando.

Continue lendo…

Oracle e MAA – Artigo VII – Switchover Broker

Seguindo uma ordem cronológica dos artigos sobre Oracle RAC e MAA vamos fazer um switchover usando o Broker. Em um ambiente de produção você não seguiria esta ordem de eventos, mas para fins didáticos é interessante observar os passos.

No último artigo “forçamos” um failover do ambiente, o banco “maa” que rodava como primary sofreu um failover e o banco “maastb” é agora o primary.  Além disso, no mesmo artigo o banco “maa” sofre um reinstate e passou a atuar como physical standby. Diferentemente do primeiro artigo que falei sobre failover, o último foi através do Broker. Todos os comandos partiram dele, do failover ao reinsate. Como disse no último artigo, o ambiente ainda não está 100%, precisamos configurar o Fast-Start Failover para ter um ambiente completo com MAA.

Infelizmente algumas atividades impediram publicar este artigo de maneira mais rápida, isso deixou este arigo um pouco afastado dos demais. Recomendaria a releitura dos artigos anteriores para relembrar alguns pontos.

SÉTIMO ARTIGO

Neste artigo vamos ver como realizar o switchover do ambiente através do Broker. O banco “maastb” que atua como primary sofrerá uma troca de papeis com o seu banco “maa” (que opera como physical standby).

Vamos ver aqui que através do Broker os passos e comandos ficam mais simples (quando comparado com o switchover manual que foi realizado neste artigo), basicamente iremos acompanhar alguns logs. Claro que tudo isso só acontecerá pois já tomamos diversos cuidados no caminho até aqui, destaco como uma das principais a conexão do Broker a cada instância (StaticConnectIdentifier) por permitir enviar os comandos diretamente uma a uma.

Continue lendo…

Oracle e MAA – Artigo VI – Failover Broker

Neste artigo vamos ver como fazer um failover e reinstate em um ambiente que temos o Broker configurado. Se você está acompanhando a série de artigos até verá que já passamos por failover manual, resintate, switchover (todos manuais e sem Broker) e no último nós configuramos o Broker.

De qualquer forma, ainda não chegamos a um ambiente ideal de Oracle MAA (Maximum Availability Architecture) com DataGuard e Oracle RAC. Até o momento não foi configurado o Fast-Start Failover e em caso de falha, mesmo com o Broker, ainda precisamos de intervenção manual em caso de falha no ambiente.

SEXTO ARTIGO

Neste artigo vamos ver como proceder em caso de falha do ambiente quando estamos com o Broker, vamos ver como realizar o failover e reinstate através do Broker. Como disse acima, ainda não estamos com o ambiente de MAA finalizado, mas isso não impede que ocorra uma falha e você tenha que interferir.

Acredito que já tenha ficado claro através da séria sobre MAA que muitos passos não são aplicados em um ambiente real na mesma sequência que a apresentada na série, você não vai fazer um failover só para testar o Broker – você já configura tudo sem precisar “restaurar” o ambiente. Através dos artigos cobrimos os diversos pontos que envolvem um ambiente MAA, você tem que estar preparado para agir mesmo quer o seu ambiente não esteja completamente configurado. Você vai dizer para o seu gerente que não pode realizar um failover porque não tem o Broker configurado?

Continue lendo…

Oracle e MAA – Artigo V – Broker

Se você está acompanhando a série de artigos sobre MAA com Oracle RAC deve ter notado que gerenciar manualmente um ambiente com esta complexidade não é uma tarefa simples. São inúmeros detalhes e configurações que podem fazer você perder o ambiente através de um único comando, fica mais complicado quando você tem que lidar manualmente com failover, switchover e reinstate.

Felizmente com Data Guard podemos utilizar o Broker para nos auxiliar em algumas tarefas, automatizando diversas tarefas. Neste artigo vou mostrar como configurar e integrar o Broker ao nosso ambiente DG com Oracle RAC.

QUINTO ARTIGO

Como disse, neste artigo vamos ver como configurar o Broker em nosso ambiente, além disso vamos ver o que precisamos fazer para que fique corretamente configurado com um Oracle RAC. A intenção deste artigo é deixar o Broker completamente operacional e integrado e onde (no futuro) possamos realizar failover, reinstate e switchover de forma “automática”. Deixarei somente a configuração do Broker para este artigo.

Como já disse em artigos anteriores, a intenção é mostrar todos os passos envolvidos no processo. Procuro demonstrar e explicar todos os logs envolvidos para que você possa ter uma noção do que está acontecendo e vislumbrar algumas coisas que acontecem por “baixo dos panos”. Infelizmente isso faz com que os artigos fiquem extensos e neste artigo os logs ficarão maiores e agora teremos mais locais para acompanhar.

Continue lendo…

Oracle e MAA – Artigo IV – Switchover

Seguindo a ordem dos artigos o próximo passo é realizar o switchover entre primary e standby. Se você seguiu os artigos até aqui, já realizou um failover manual e um reinstate do seu ambiente. O switchover pode ser realizado sem que ocorra um failover, ele é uma operação legítima de um Data Guard. Os passos deste artigo podem ser realizados em um ambiente que não sofreu nenhuma falha até o momento.

QUARTO ARTIGO

Neste quarto artigo vamos realizar o switchover manual do ambiente, mostrarei os passos envolvidos e mais alguns detalhes. Citei acima que esse é uma sequência dos anteriores, mas os passos são os mesmos para um ambiente que necessita de um switchover sem que antes tenha ocorrido um failover.

Continue lendo…

Oracle e MAA – Artigo III – Reinstate

Após fazer o failover no artigo anterior você precisa recuperar o seu ambiente, presiamos fazer o reinstate do antigo primary. De forma resumida o resintate é recuperar o banco para que assuma a nova função.

No mundo real as falhas que podem deixar seu ambiente primary fora e forçar o failover para o standby são diversas. Muitas vezes perde-se o ambiente por completo e precisamos recriar o primary, quando acontece isso a solução é recriar o ambiente e adicionar o banco ao DG. Aqui, o antigo primary teve a sua falha corrigida e ele foi religado. Se no caso você perdeu completamente o antigo primary não há o que fazer, você precisará recriar ele através de um backup do novo primary.

TERCEIRO ARTIGO

Neste artigo irei demonstrar como fazer o reinstate manual do antigo primary. Além disso, também demonstrarei como adicionar este banco como standby ao ambiente para que possamos a ter um ambiente MAA. Como este artigo é uma sequência dos anteriores eu recomendo a leitura dos anteriores para ficar familiarizado, não é obrigatório mas pode ajudar.

Continue lendo…