Data

15 jul, 2013

Conexão e replicação de dados em banco de dados distribuídos heterogêneos – Parte 01

Publicidade

Olá, pessoal. Neste artigo, dividido em duas partes, vou demonstrar como realizar a conexão e a replicação de dados entre banco de dados distribuídos heterogêneos.

Utilizarei os bancos de dados Oracle 10G, Postgre e MySQL, nos quais utilizaremos o Oracle como middleware (mediador).

Será realizada a conexão entre os bancos Oracle 10G e Postgre. Dessa forma,  será possível selecionar os dados do banco Postgre no Oracle 10G. Já a replicação dos dados acontecerá entre o Oracle e o MySQL, ou seja, toda inserção, deleção e alteração realizada no Oracle será replicada no MySQL.

Para o simulação de diferentes servidores, utilizei o software Virtual Box para que fossem criadas três máquinas virtuais (todas com sistema operacional Windows XP), no qual cada máquina virtual encontra-se com um banco de dados instalado.

bancodedados_1

Banco de Dados e IPs das Máquinas Virtuais

Downloads

Bem, chega de conversa e vamos colocar a mão na massa. Primeiramente, é necessário efetuar o download dos bancos de dados utilizados, bem como efetuar o download do driver ODBC dos bancos de dados MySQL e Postgre.

Abaixo seguem as URLs para o download:

Banco de Dados MySQL

http://dev.mysql.com/downloads/

Banco de Dados Oracle

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/

Banco de Dados Postgre

http://www.postgresql.org/download/

ODBC MySQL

http://dev.mysql.com/downloads/connector/odbc/

ODBC PostGgree

http://www.postgresql.org/ftp/odbc/versions/

Criando tabelas

Após a instalação dos banco de dados, devemos criar os banco de dados e tabelas que cada banco possuirá.

bancodedados_2

MySQL

Para a criação do banco de dados no MySQL, são utilizados os seguintes comandos:

[sql]

CREATE DATABASE movie;
USE movie;

CREATE TABLE clientes(
idCliente INT(5) PRIMARY KEY,
nome VARCHAR(50),
cpf VARCHAR(11));
[/sql]

Insira dois registros no banco de dados MySQL com os seguintes comandos:

[sql]</p>
<p align="left">INSERT INTO clientes VALUES (‘1’, ‘Felipe Maciel’, ‘34548455908’);</p>
<p align="left">INSERT INTO clientes VALUES (‘2’, ‘Gustavo Gusmao’, ‘34234188751’);</p>
<p align="left">[/sql]

Oracle

Para a criação do banco de dados no Oracle, são utilizados os comandos:

[sql]

CREATE TABLE clientes(

idCliente NUMBER(5) PRIMARY KEY,

nome VARCHAR2(50),

cpf VARCHAR2(11)

);

CREATE TABLE filmes(

idFilme NUMBER(5) PRIMARY KEY,

idCategoria NUMBER(5),

nome VARCHAR2(50),

);

[/sql]

Insira registros na tabela filmes com os seguintes comandos:

[sql]

INSERT INTO filmes VALUES (‘101’, ‘1’, ‘Debi e Loide’);
<p align="left">INSERT INTO filmes VALUES (‘102’, ‘1’, ‘Se beber Nao Case’);
INSERT INTO filmes VALUES (‘103’, ‘1’, ‘Um Parto de Viagem’);</p>
INSERT INTO filmes VALUES (‘104’, ‘2’, ‘Hellraiser’);

INSERT INTO filmes VALUES (‘105’, ‘2’, ‘Carrie’);

INSERT INTO filmes VALUES (‘106’, ‘3’, ‘Um Amor Para Recordar’);

INSERT INTO filmes VALUES (‘107’, ‘3’, ‘Meu Primeiro Amor’);

INSERT INTO filmes VALUES (‘108’, ‘3’, ‘PS Te Amo’);

INSERT INTO filmes VALUES (‘109’, ‘3’, ‘Diario de uma Paixao’);

[/sql]

Postgre

Para a criação do banco de dados no Postgre, são utilizados os comandos:

[sql]

CREATE DATABASE locadora;

\c locadora;

CREATE TABLE categorias(

idCategoria INT PRIMARY KEY,

nome VARCHAR(50));

[/sql]

Agora vamos inserir três registros no banco de dados Postgre com os seguintes comandos:

[sql]

INSERT INTO categorias VALUES (‘1’, ‘Comedia’);

INSERT INTO categorias VALUES (‘2’, Terror);

INSERT INTO categorias VALUES (‘3’, Romance);

[/sql]

O próximo passo é a instalação dos drivers ODBCs.

Configuração ODBC

A instalação dos drivers ODBC devem ser feitas na máquina virtual na qual se encontra o banco de dados que servirá de middleware (Oracle).

A instalação é bem simples e resume-se em botões, aceitar, next e próximo, creio que ninguém terá grandes problemas. Após a instalação de ambos ODBCs (MySQL e Postgre), é necessário configurar os drivers.

Configurando ODBC MySQL

1 – Clique no botão Iniciar => Painel de Controle => Ferramentas administrativas => Fonte de dados (ODBC).

2 – Clique sobre a aba Fontes de dados de sistema e clique em Adicionar.

3 – Na lista apresentada, selecione o driver MySQL ODBC 5.2w Driver e clique em Concluir

bancodedados_3

Driver ODBC MySQL

4 – Na janela apresenta, é necessário configurar os dados da conexão:

Data Source Name: nome para identificar a conexão

TCP/IP Server: endereço de IP no qual está instalado servidor

Port: porta de acesso ao banco de dados

User: usuário do banco de dados MySQL

Password: senha de usuário do banco de dados MySQL

Database: nome do banco de dados MySQL

bancodedados_4

ODBC MySQL

Para testar a sua conexão, clique sobre o botão Test e verifique se é mostrada a mensagem Connection Sucessful.

bancodedados_5

Alert Conexão MySQL

Configurando ODBC POSTGRE

Antes de adicionar o driver ODBC Postgre utilizando a Fonte de Dados (ODBC), é necessário liberar o acesso da máquina virtual 192.168.0.20 no banco de dados Postgre. Para isso, abra o arquivo pg_hba.conf que encontra-se no diretório C:\Arquivos de Programas\PostgreSQL\8.4\data; na máquina 192.168.0.30, adicione a linha:

host     all       all         192.168.0.20/32       md5

bancodedados_6

Arquivo pg_hba.conf

Após liberado o acesso ao Postgre pelo IP da máquina virtual que encontra-se com o Oracle instalado (192.168.0.20), adicionaremos o driver ODBC do Postgre à nossa fonte de dados da máquina virtual 192.168.0.20. Siga os passos a seguir:

1 – Clique no botão Iniciar => Painel de Controle => Ferramentas administrativas => Fonte de dados (ODBC).

2 – Clique sobre a aba Fontes de dados de sistema e clique em Adicionar.

3 – Na lista apresentada, selecione o PostgreSQL ANSI e clique em Concluir.

bancodedados_7

Driver ODBC Postgre

4 – Na janela apresentada, é necessário configurar os dados da conexão:

Data Source: nome para identificar a conexão

Database: nome do banco de dados Postgre

Server: endereço de IP no qual está instalado servidor Postgre

Port: porta de acesso ao banco de dados

User Name: usuário do banco de dados Postgre

Password: senha de usuário do banco de dados Postgre

bancodedados_8

ODBC Postgre

Para testar a sua conexão, clique sobre o botão Test e verifique se é mostrada a mensagem Connection Sucessful.

bancodedados_9

Alert Conexão Postgre

Ufaaaaaaaaaaa, por hoje é só pessoal, espero que tenham gostado.

No próximo artigo, iremos configurar os arquivos  listener e tnsnames do Oracle, bem como criar o arquivo init do Oracle e, por fim, a criação das procedures e triggers para a replicação dos dados.

Espero vocês lá !!!!

Quaisquer dúvidas e/ou sugestões é só deixar nos comentários (: …. abraços !