Data Guard na versão 10g Release 2 (10.2) - Parte 01
Renato Osterne (e-mail) é formado em Técnico em Processamento de dados pelo
COtemig a nível médio, formado em Administração de Sistamas de Informação pela
UNA-CCG e
especializado em banco de dados Oracle com certificações OCP 9i e 10g.
Trabalha com informática há 8 anos e sendo 3 deles como DBA. Hoje atua na Synos technologies,parceiro Oracle, em um projeto do jornal O Estado de Minas.
Esse artigo descreverá como configurar o Data Guard na versão 10g Release 2 (10.2).
O Data Guard é uma feature do Oracle, utilizado muito como plano de contingência de
banco. Sua nomenclatura é constituída por um banco primário e um ou mais bancos
secundários.
O banco secundário pode ser físico ou lógico. A diferença entre os dois é de conceito.
O banco secundário físico é mais utilizado quando se deseja manter uma cópia integra do
banco primário, pois ele é utilizado apenas em READ-ONLY ou com o banco no estado
montado.
Já o banco secundário lógico é muito utilizado pra replicação de dados com o intuito de atualização automática de uma base que deve se manter idêntica a produção, podemos
citar com exemplo uma base de treinamento.
Há várias maneiras de configuração do Data Guard, utilizaremos um tipo de
configuração baseado em "Role Transition" e "Primary Role".
Figura 1.0- Primário e Físico Standby Database com regras de transação:

Conforme a Figura 1.0 iremos configurar tanto o banco primário como o
secundário (Banco físico), sendo que no nosso exemplo os banco terão
os seguintes nomes:
Primário: Ao invés de Boston será Primary
Secundário: Ao invés de Chicago será StandyPasso a Passo - Criando Physical Standby
1º ) No Primary Database ative a feature "FORCE LOGGING":
ALTER DATABASE FORCE LOGGING;
Isso fará que todas as alterações gerem logs.
2º) Crie os Standby logs para que mais tarde possamos utilizar a feature Real Time,
que nada mais é que as alterações serão aplicadas em tempo real no banco secundário:
3º) Nesse ponto, após a criação dos Standby logs, altere o arquivo de parâmetro
do banco primário da seguinte forma:
OBS: Note que os parâmetros DB_FILE_NAME_CONVERT e LOG_FILE_NAME_CONVERT
servem para que o banco automaticamente altere a caminho dos datafiles e redos no
controlfile quando alterado para modo Standby, diferentemente da versão 9i, que era
necessário modifica-lo manualmente com o comando "ALTER DATABASE RENAME FILE".
4º) Ative o arquivamento no banco Primary:
5º) Faça um backup frio do banco primário:
6º) Inicie o banco primário no modo MOUNT pra criar o standby controlfile:
'/home/oracle/standy/oradata/logical_standy.ctl'; SQL> ALTER DATABASE OPEN; [codigo]$ cp -r logical_standy.ctl standy1.ctl| $ cp -r logical_standy.ctl standy2.ctl
7º) Crie o arquivo de parâmetro pra o banco Standy conforme o Primary:
8º) Altere o arquivo de parâmetro do banco Standy:
OBS: Atente que o DB_UNIQUE_NAME é Standy, esse parâmetro que diferencia os dois
bancos no modo Físico.
9º) Configure o tnsnames e os listeners. Nesse caso foi colocado um listener pra
cada banco, um na porta 1521 e o outro na 1522.
Listener
10º) Inicie os listeners:
11º) Inicíe o banco standy:
12º) Nesse momento, colocaremos o banco secundário pra receber os archive logs
do banco primário. Para isso Inicie o Redo Apply da seguinte forma no banco secundário:
Alter Database Recover Managed Standby Database Disconnect From Session;
Para testar se está funcionado, entre no banco primário e crie uma tabela.
Ex:
Veja se o banco Standy está recendo os archive logs:
E verifique se estão sendo aplicados:
Caso estejam, a replicação esta funcionando.
Espero ter ajudado. Na próxima matéria iremos configurar o Data Guard no modo lógico.
Abraço!