Marcelo,

É possível atender esta sua necessidade com pouco esforço.


Uma sugestão simples:

Vamos chamar o servidor com o banco de produção de PROD, e a máquina com o
banco de replicação de REP.

- crie um banco em REP, com o mesmo db_name de PROD
- crie as tablespaces em REP, com os mesmos nomes de PROD, os diretórios
  onde ficarão os datafiles podem ser diferentes, não há problema
- exporte o owner de PROD que vc quer replicar
- crie no REP o owner com o mesmo nome de PROD
- importe o DMP de PROD para o owner criado em REP
- em REP, desabilite as constraints de CHECK e FK, mantenha apenas PK
- crie em PROD uma tabela TABREP que contenha:
  - nome da tabela envolvida
  - PK (id) do registro alterado
  - tp_operacao (I p/ inserção, U p/ update, D p/ delete)
- crie tb em PROD uma trigger para cada tabela, que vigie INSERT,
  UPDATE e DELETE
- esta trigger deverá gravar na tabela TABREP preenchendo os atributos
  de acordo com a operação
- crie em PROD um DBLINK para o REP usando o owner que vc criou lá
- em REP, dê direitos ALL para public em todas as tabelas a serem replicadas
- faça em PROD uma procedure PRC_REP que pegue as linhas da tabela TABREP e
  execute a operação em REP, dê commit e delete então as referidas linhas
  de TABREP.
- em operações UPDATE, faça um delete na tabela em REP e em seguida faça
  INSERT
- para montar os sqls dinâmicos, use EXECUTE IMMEDIATE.
- para rodar a procedure PRC_REP, agende um JOB com repetição no
  intervalo desejado.


Outras opções seriam usar o Oracle Advanced Replication, Oracle Standby
Database, ou até mesmo um EXP em PROD e um IMP em REP.


Ederson Elias de Oliveira
DBA Oracle
Setransp - Goiânia-GO
-------------------------------------------------------------------

-----Mensagem original-----
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Marcelo Carvalho
Enviada em: sexta-feira, 12 de maio de 2006 12:36
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Replicação de Base

Pessoal,

Pode ser um pouco de loucura ... mas estou querendo fazer um
servidor/repositorio ... algo que ao final do dia ou em determinados
horarios meus bancos de dados Oracle 9i se conectem nesta outra maquina e
façam uma sincronização dos dados ... Assim sempre terei uma maquina de
reserva ... pode ser mais lenta, não estará 100% atualizada, mas em caso de
problemas na maquina server esta poderia ser acionada.
Não estou falando de alta disponibilidade ... com maquinas sincronizadas a
cada operação ... Seria algo como falei de tempos em tempos ... com se
fossem várias filiais se conectando na matriz para fazer atualização dos
dados.

Agora a pergunta que não quer calar ...... "Como fazer ???"

--
Marcelo Carvalho
MSN  [EMAIL PROTECTED]



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário.



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a