Bom dia Jovens
Nos últimos tempos ganhei uma oportunidade de
trabalhar com o Oracle Goldengate.
Ahhh, que bacana!!!!! Ops, mas espera ai. O que é o
Oracle Goldengate mesmo?
Óteeeeemaaaaa pergunta jovem...
Bem rapidamente e bem a grosso modo o Oracle GG é
uma ferramenta para captura/replicação de dados em tempo real.
Hummmm, legal.. Mas só isso?
Nananinanão.. Ele faz essa replicação entre sistemas
de SGBD diferentes, de versões diferentes, plataformas diferentes, tudo
diferente...
Agora sim, interessou né?
Se você precisa replicar um SQLSERVER para Oracle,
pode. Um MySQL para Oracle, pode também. E um Oracle para Oracle em SO’s e
versões diferentes. É claro que pode meu filho.
E se você não quer replicar e sim migrar uma base de
um servidor antigo para um novo, sem parada com versões diferentes, SO
diferente. Adivinha se pode? Lógico que pode.
Ou seja, podemos replicar/migrar dados entre bases
heterogêneas, sem downtime, sem nada.
Na verdade esse produto não foi desenvolvido pela
Oracle. Ele faz parte de uma das várias aquisições realizadas nos últimos anos.
Essa é uma explicação realmente simples perante o
poder dessa ferramenta. Você consegue muitas informações sobre como o GG
funciona e todo o seu potencial:
Antes de começar, é bom que tenhamos pelo menos
algum conceito de alguns processos do GG. Lembrando que isso é apenas um overview
de um processo específico.
Existem N maneiras de fazer uma replicação com o GG
e tudo depende do que você tem como requisitos do trabalho, limitações de
espaço, o que o seu cliente quer.
Primeiro, a figura clássica: Como o GG funciona.
Entendeu tudo né. Nem precisamos continuar.
AHAHAHHAHA...
Agora sim, os processos que eu acho bacana que você
conheça antes de sair tentando replicar os dados por ai:
Processo
Manager:
esse cara faz um monitoramento dos processos do GG, ou seja, é o processo pai
do GG. Ele que faz toda a gestão dos processos e arquivos gerados pelo GG.
Antes de criar/iniciar os processos de
Extract e Replicat, esse cara deve estar no ar.
Extract: Como o próprio nome diz, ele
extrai/captura os dados e DDL do Source database. Essa extração captura os
registros de dados completos ou as alterações desses dados, dependendo das
configurações e envia os dados para um trail file..
Data Pump: Não jovem, não confunda com
o datapump (expdp/impdp). Esse processo envia os trail's para o target
database. Se um processo data Pump não é usado (sim ele é opcional), o extract
deve enviar as operações capturadas para um trail file diretamente no Target.
No entanto, caso ele exista, o extract cria o trail file no source. O Data Pump lê este trail e envia
as operações através da rede para um trail no Target.
Trails files: É o resultado da extração
dos dados do source. Ou seja, tudo o que o extract "pegou", ele vai
gravar nesses arquivos que serão utilizados para replicar os dados. São
armazenados no disco local temporariamente (caso feito via data pump) até que
tenha sido aplicado ao local de destino.
Initial load: Na verdade pode ou não ser
um processo realizado pelo GG. Mas coloquei aqui pois de uma forma ou de outra
teremos que realizar essa atividade. É a carga inicial dos dados – ou da
estrutura da instance no target. Como eu disse, ele pode ser feito via GG
(testei e não gostei), ou via um expdp/impdp, rman, etc. Fiz via expdp com
flashback_scn e foi o que eu mais gostei.De uma base de 900G, diga-se.
Replicat: Ele replica as informações
no lado do target. Esse processo faz a leitura dos trail's enviados pelo
datapump do source e faz a replicação.
Checkpoint: Armazenam as posições atuais
de leitura/escrita de um processo para fins de recuperação. Esses ceckpoint's
garantem que as alterações de dados que estão marcadas para sincronização
realmente serão capturados pelo extract e que serão aplicados pelo replicat no
target. Além disso ele fornece uma tolerância a falhas, impedindo a perda de
dados caso o sistema, a rede, ou um processo do Oracle GoldenGate precise ser
reiniciado.
Gente, novamente lembrando antes de continuar: os
processos são muito mais completos e complexos do que dito acima. Isso é o
resumo de muitas páginas de documentação em 3 ou 4 linhas.
E lembre-se, eu também estou estudando o GG. Mas como eu sou metido, resolvi compartilhar o pouco que eu sei. Caso tenha alguma barbaridade ai, não se acanhe em apontar.
Alguns sites legais que eu consultei, além da documentação é claro:
http://satya-dba.blogspot.com.br/2012/02/ggsci-goldengate-command-interpreter.html
http://www.juliandyke.com/Blog/?p=301
https://blogs.oracle.com/imc/entry/oracle_goldengate_configuring_ddl_replication
http://www.juliandyke.com/Blog/?p=387
http://jianmingli.com/wp/?p=1532
http://www.profissionaloracle.com.br/gpo/artigo/banco-de-dados/53-golden-gate-instalacao-e-configuracao
http://flaviosoares.com/2011-05/goldengate-bidirecional-oracle-para-oracle/
http://http://gavinsoorma.com
http://www.juliandyke.com/Blog/?p=301
https://blogs.oracle.com/imc/entry/oracle_goldengate_configuring_ddl_replication
http://www.juliandyke.com/Blog/?p=387
http://jianmingli.com/wp/?p=1532
http://www.profissionaloracle.com.br/gpo/artigo/banco-de-dados/53-golden-gate-instalacao-e-configuracao
http://flaviosoares.com/2011-05/goldengate-bidirecional-oracle-para-oracle/
http://http://gavinsoorma.com
Blogs ótimos que ajudaram demais. Podem ver que tem gente brazuca ai no meio. Visitem essas fontes, não só para o GG. Vale muito a pena.
E não podia esquecer de agradecer um cara que nem me conhece pessoalmente e que me ajudou demais, gente fina mesmo. Quem me "apresentou" a ele foi a Lilian Barroso (http://lilianbarroso.wordpress.com/). Régis Araujo, abraço e obrigado pela ajuda. Obrigado a Lilian também.
E não podia esquecer de agradecer um cara que nem me conhece pessoalmente e que me ajudou demais, gente fina mesmo. Quem me "apresentou" a ele foi a Lilian Barroso (http://lilianbarroso.wordpress.com/). Régis Araujo, abraço e obrigado pela ajuda. Obrigado a Lilian também.
Até
té té...
Abraço
Mario
Nenhum comentário:
Postar um comentário
Isso te ajudou? Comente...