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.
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á.
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
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
ODBC MySQL
Para testar a sua conexão, clique sobre o botão Test e verifique se é mostrada a mensagem Connection Sucessful.
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
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.
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
ODBC Postgre
Para testar a sua conexão, clique sobre o botão Test e verifique se é mostrada a mensagem Connection Sucessful.
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 !