Esse artigo faz parte da revista SQL Magazine edição 54. Clique aqui para ler todos os artigos desta edição

ize=2>em PDFimagem_pdf.jpg

Oracle

Replicação Oracle – Parte II

Mantenha os dados sincronizados para garantir qualidade nos testes de software

 

Sálvio Padlipskas

 

Marcio Henrique Guimarães

 

Essa matéria é a continuação da anterior e tem por objetivo aplicar replicação de dados de forma passo a passo utilizando a ferramenta de replicação da Oracle. Para isso, faremos uso do mesmo modelo de dados da matéria anterior.

De início, é importante ter em mente que a replicação pode ser síncrona ou assíncrona, as replicações assíncronas são as mais usadas em razão de que oneram menos o banco de dados nos processos transacionais, pois ocorrem em períodos de tempo pré-determinados. A replicação síncrona é mais onerosa, porém em determinadas situações são de extrema importância. Nesta matéria abordaremos a replicação síncrona, mas veremos também a resolução de conflitos que é algo muito importante na replicação assíncrona.

A versão do SGBD que usamos foi o Oracle Enterprise 9i, os passos para realizarmos a replicação na versão 10g são praticamente os mesmos.

Usamos a ferramenta Enterprise Manager que automatizou boa parte da implementação, alguns passos, porém, serão realizados por meio do SQL*Plus.

Antes de iniciarmos, vamos tratar de alguns conceitos importantes que irão facilitar o entendimento do passo a passo da solução que mostraremos no tópico “Iniciando o Processo”.

Preparando a replicação

Primeiro devemos preparar a replicação entendendo os conceitos que a envolvem. Todo processo de replicação envolve um replicador ou, como é denominado no Oracle Enterprise Manager, Site Mestre.

 

Nota DevMan. Replicação

Replicação é o processo de criar e manter réplicas de objetos do banco de dados (tabelas, por exemplo) em sistemas de banco de dados distribuídos.

Replicação pode melhor o desempenho e aumentar sensivelmente a disponibilidade da aplicação pelo fato do acesso aos dados estarem disponíveis em diferentes localidades. Por exemplo, os usuários podem acessar um banco de dados local ao invés de um banco de dados em um servidor remoto, minimizando assim o tráfego de rede. Além deste exemplo, a aplicação pode ainda continuar funcionando normalmente caso parte do sistema distribuído esteja “fora do ar”, pois as réplicas continuarão disponíveis e acessíveis.

Note que replicação de dados é fundamentalmente diferente de distribuir dados. Quando os dados são distribuídos, podem ser acessados de vários locais de maneira transparente, mas a tabela em questão está localizada em apenas um lugar e este lugar é o responsável pela segurança e integridade desta informação.

Em contrapartida, dados replicados residem em várias localidades simultaneamente e cada um deles compartilha sua manutenção. A replicação de dados implica num aumento no nível de complexidade porque envolve questões de sincronização e latência. Esta complexidade é o preço a ser pago para manter a operação contínua mesmo quando uma fonte de dados remota não está disponível.

 

O Site-Mestre é o mecanismo de referência que relaciona todas as instâncias envolvidas no processo de replicação. É através deste mecanismo que criamos o canal de comunicação entre as instâncias a serem replicadas. Isso será feito mediante o uso de Database Links, da mesma forma que utilizamos na primeira parte deste artigo.

Devemos criar um database link em cada instância de banco de dados envolvida. O primeiro database link referenciará a segunda instância (neste caso chamada GPTEST9R, instância Replicada) e o segundo database link referenciará a instância GPTEST9 de onde serão propagados os dados para a segunda instância.

Uma replicação pode envolver diversas instâncias, desde que estas participem na definição dos sites mestres. Na implementação deste artigo iremos tratar apenas de duas instâncias GPTEST9 (Emissor) e GPTEST9R (Receptor).

Na construção da replicação iremos definir as instâncias como emissoras (aquelas que enviam informações a outra instância) e como receptoras (aquelas que recebem informações de outra instância). ...

Quer ler esse conteúdo completo? Tenha acesso completo