MariaDB e Oracle Goldengate

Rreplicação entre o Oracle e MariaDB, será que funciona? Exatamente como se fosse em um MySQL 🙂

MariaDB é uma base de dados com a mesma origem do MySQL.

Software utilizado: CentOS 6, Oracle Database 11gR2, MariaDB 5.5 e Goldengate 11gR2 (2 instalações, pois cada BD terá um binário do Goldengate).

Para os testes, criei um schema ORACLE na BD Oracle e criei uma BD ORACLE na BD MariaDB 🙂

Depois de já ter instalado todos os softwares citados acima (bases de dados e OGG), vamos as configurações:

1) Goldengate para a BD Oracle (Origem):

1.1) Processo de EXTRACT

add extract ext1, tranlog, begin now
add exttrail /oracle/app/oracle/product/11.2.0/ogg/ogg_orcl/dirdat/ex, extract ext1
edit params ext1

extract ext1
userid ogg, password ogg
exttrail /oracle/app/oracle/product/11.2.0/ogg/ogg_orcl/dirdat/ex
table oracle.*;

1.2) Processo de PUMP

add extract pump1, exttrailsource /oracle/app/oracle/product/11.2.0/ogg/ogg_orcl/dirdat/ex
add rmttrail /oracle/app/oracle/product/11.2.0/ogg/ogg_mysql/dirdat/ex, extract pump1
edit params pump1

extract pump1
rmthost localhost, mgrport 7820
userid ogg, password ogg
rmttrail /oracle/app/oracle/product/11.2.0/ogg/ogg_mysql/dirdat/ex
passthru
table oracle.*;

1.3) Criar o definition file:

vi /oracle/app/oracle/product/11.2.0/ogg/ogg_orcl/dirprm/defgen.prm

userid ogg, password ogg
DEFSFILE /oracle/app/oracle/product/11.2.0/ogg/ogg_mysql/dirdef/source.def
table ORACLE.*

No shell:

defgen paramfile /oracle/app/oracle/product/11.2.0/ogg/ogg_orcl/dirprm/defgen.prm

O definition file contém a definição da estrutura das tabelas origem, exemplo:

defs_file

2) Goldengate para a BD MariaDB (Destino):

2.1) Processo de REPLICAT

ADD REPLICAT rep1, EXTTRAIL /oracle/app/oracle/product/11.2.0/ogg/ogg_mysql/dirdat/ex, NODBCHECKPOINT
edit params rep1

replicat rep1
targetdb ORACLE, userid ogg, password ogg
SOURCEDEFS /oracle/app/oracle/product/11.2.0/ogg/ogg_mysql/dirdef/source.def
map ORACLE.* , TARGET ORACLE.*;

Após as configurações, agora já se pode correr testes :-). Para tal criei uma pequena tabela na BD Oracle e MariaDB:

ORACLE: create table teste1 (a varchar2(30),b number);

MariaDB: create table teste1 (a varchar(30),b numeric);

Insert no ORACLE:

tbl_oracle

Validação do processo de replicação:

tbl_mariadb

Validação do relatório para o processo replicat (view report rep1):

report_replicat

Obviamente que o MariaDB não aparece na matriz de certificação da Oracle para o Goldengate, no entanto, com possui a mesma origem do MySQL, é possível replicar 🙂

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s