Olá pessoal,
Espero que estejam bem.
Recentemente fui contatado por um cliente que estava realizando um teste de DR no seu ambiente.
Todos os bancos de dados possuem Physical Standby (DataGuard) como solução para DR. Em todos os DataGuards possuímos configuração de DataGuard Broker.
Há 2 semanas iniciaram o teste de DR, convertendo todos os bancos de dados de Physical Standby para Snapshot Standby, obviamente utilizando o DG Broker.
Quando os testes de DR terminaram, foram realizar a conversão de Snapshot Standby para Physical Standby, todos os bancos de dados foram convertidos com sucesso, exceto aquele que teve mais atividade e gerou mais flashback logs.
Para este banco de dados específico, após 1 hora do comando de “convert database xxx to snapshot standby” ter sido executado, tivemos a seguinte mensagem no alert.log:
2021-12-13T04:56:23.578060+00:00 Starting background process RSM0 2021-12-13T04:56:23.612062+00:00 RSM0 started with pid=104, OS id=14071 2021-12-13T04:57:25.223320+00:00 alter database convert to physical standby 2021-12-13T04:57:25.229211+00:00 ALTER DATABASE CONVERT TO PHYSICAL STANDBY (PB1) 2021-12-13T05:57:42.559725+00:00 Process RSM0, PID = 34690, will be killed
Observem a última mensagem. Ela pareceu exatamente uma hora após a conversão ter sido iniciada.
Após isso, o cliente fez o restart do banco de dados e disparou novamente o processo, o qual morreu exatamente após uma hora.
No Broker não havia nenhuma mensagem de erro, nem mesmo no log do Broker.
Esse comportamento é compatível com o encontrado no bug mencionado abaixo:
Bug 33225678 : DGMGRL CONVERT TO PHISICAL STANDBY FAILS AFTER TIMEOUT: ORA-16713
Nesse bug, o processo do Broker vai matar os processos que estiverem “esperando” por mais de uma hora, nesse caso, matando o processo RSM0, responsável por voltar o restore point.
Esse é um bug corrigido nas versões mais atuais (19.14 e atuais). O cliente estava rodando 19.13 e já havia agendado o patch para a semana seguinte.
O nosso workaround foi executar os processos de conversão manualmente, usando o sqlplus, ao invés de usar o DG Broker.
Espero que seja útil,
Um abraço.
Vinicius
Related posts
Disclaimer
Minhas postagens refletem minhas próprias opiniões e não representam necessariamente as opiniões do meu empregador, a Accenture.