Olá pessoal!
Espero que estejam bem!
Estou trabalhando num projeto para migrar alguns bancos de dados para Oracle RAC e nós decidimos mover o banco usando DataGuard, já que o Switchover costuma ser bem rápido, a janela de downtime não será longa.
Bom, como parte do processo de criação do Standby/DataGuard, nós iniciamos o duplicate para um dos bancos de dados (54TB).
Como é um ambiente de Pré-Produção e para evitar algum impacto, decidimos usar 6 canais na origem e 6 canais no destino:
connect target sysmigration/password@SOURCE_DB connect target sysmigration/password@NEW_RAC_DB run { allocate auxiliary channel sby1 type disk; allocate auxiliary channel sby2 type disk; allocate auxiliary channel sby3 type disk; allocate auxiliary channel sby4 type disk; allocate auxiliary channel sby5 type disk; allocate auxiliary channel sby6 type disk; allocate channel pmy1 type disk; allocate channel pmy2 type disk; allocate channel pmy3 type disk; allocate channel pmy4 type disk; allocate channel pmy5 type disk; allocate channel pmy6 type disk; duplicate target database for standby from active database; }
Tudo começou bem, mas, depois de algumas horas, verifiquei que alguns canais quando acabavam a cópia/restore de um datafile, não iniciavam o processo para outro datafile. Ao invés disso, algumas sessões estavam esperando pelo evento “remote db file read” (ou sql*net vector data to client) com o tempo sempre crescente sem expectativa de redução no novo banco de dados. No banco de dados de origem, o era: “remote db file write”.
Encontrei uma nota no Metalink (My Oracle Support):
RMAN Hangs When Creating Standby DB As Duplicate From Active Primary (Doc ID 2512075.1)
Para esta nota, a Causa é:
Issue not identified.
A Solução é:
Upgrade Linux kernel to latest version resolved the issue.
Neste cliente estamos usando o RHEL 7.5 já que não podemos usar o RHEL 7.6 por uma incompatibilidade do agente de backup deles. Além disso, não tinha como eu fazer alguma pressão no cliente, já que o argumento técnico era fraco: problema não identificado pelo suporte Oracle.
Também encontrei outra nota:
RMAN Duplicate hangs when using DCD and TCPS (Doc ID 1676197.1)
Para esta nota, a Causa é:
DCD + TCPS
A Solução é:
Disable DCD.
O cliente está usando DCD no ambiente dele, mas não TCPS.
Nós decidimos desabilitar o DCD e reiniciar o processo de Duplicate, o que mostrou-se efetivo e resolveu o problema com os canais, garantindo que todos os canais trabalharam à todo vapor!
Caso queira ler mais sobre DCD, recomendo este White Paper da Oracle: Dead Connection Detection – Oracle
Espero que este artigo 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.