Bom, esse é mais ou menos o script que seguimos:

-- Criando o MaSTER SITE

Criar o dicionário da replicação: CATREP.SQL
Execute o CATREP.SQL com usuário sys.

CREATE USER repadmin IDENTIFIED BY repadmin01;
GRANT connect, resource TO repadmin;
GRANT comment any table TO repadmin;                        
GRANT lock any table TO repadmin;       
GRANT execute on DBMS_DEFER to repadmin; 
GRANT create session TO repadmin; 
GRANT select any table TO repadmin; 
GRANT create any snapshot TO repadmin;
GRANT alter any snapshot TO repadmin; 
GRANT create database link to repadmin;
GRANT EXECUTE ON dbms_defer TO repadmin WITH GRANT OPTION;
REVOKE UNLIMITED TABLESPACE FROM REPADMIN;                                 

EXEC 
dbms_repcat_admin.grant_admin_any_schema('REPADMIN');                           
                              

EXEC dbms_defer_sys.register_propagator('REPADMIN');     
exec dbms_repcat.create_master_repgroup('SNPGRP');

EXEC dbms_repcat.resume_master_activity('SNPGRP');

EXEC dbms_repcat_admin.register_user_repgroup(username 
=>'REPADMIN',privilege_type => 'proxy_snapadmin',list_of_gnames =>  NULL);
EXEC dbms_repcat_admin.register_user_repgroup(username 
=>'REPADMIN',privilege_type => 'receiver',list_of_gnames =>  NULL);
EXEC dbms_repcat_admin.grant_admin_any_schema('REPADMIN');   
exec DBMS_DEFER_SYS.REGISTER_PROPAGATOR('REPADMIN');

Agora, cria um usuário que será o dono das tabelas para replicar, ou usa 
o usuário que é teu schema.
Tem que dar o seguinte grant pra o usuario:
Grant CREATE MATERIALIZED VIEW,  GLOBAL QUERY REWRITE to USUARIO;

No site SNAP

1- Tem que criar um DBLINK para o banco MASTER

2- Criar o usuário igual ao site Master. Ex.: se tu tens um usuario 
chamado SISTEMA1 no site master deve ter um SISTEMA1 no site SNAP.
create user SISTEMA1 identified by SENHA quota unlimited on system;
grant create session, resource,CREATE MATERIALIZED VIEW,  GLOBAL QUERY 
REWRITE to SISTEMA1;

3- Criar um grupo de refresh para atualização
Executar esse comando com usuario SISTEMA1.
exec DBMS_REFRESH.MAKE(name => 'REFRESH_15S',list => '',next_date => 
SYSDATE,interval => '/*15 Segundos*/ sysdate + 
15/60/60/24',push_deferred_rpc => TRUE,refresh_after_errors => TRUE);   

Criar o dicionário da replicação: CATREP.SQL
Execute o CATREP.SQL com usuário sys.

CREATE USER repadmin IDENTIFIED BY repadmin01;
GRANT connect, resource TO repadmin;
GRANT comment any table TO repadmin;                        
GRANT lock any table TO repadmin;       
GRANT execute on DBMS_DEFER to repadmin; 
GRANT create session TO repadmin; 
GRANT select any table TO repadmin; 
GRANT create any snapshot TO repadmin;
GRANT alter any snapshot TO repadmin; 
GRANT create database link to repadmin;
GRANT EXECUTE ON dbms_defer TO repadmin WITH GRANT OPTION;
REVOKE UNLIMITED TABLESPACE FROM REPADMIN;                                 

EXEC 
dbms_repcat_admin.grant_admin_any_schema('REPADMIN');                           
                              

EXEC dbms_defer_sys.register_propagator('REPADMIN'); 
EXEC dbms_repcat_admin.register_user_repgroup(username 
=>'REPADMIN',privilege_type => 'proxy_snapadmin',list_of_gnames =>  NULL);
EXEC dbms_repcat_admin.register_user_repgroup(username 
=>'REPADMIN',privilege_type => 'receiver',list_of_gnames =>  NULL);
EXEC dbms_repcat_admin.grant_admin_any_schema('REPADMIN');   
exec DBMS_DEFER_SYS.REGISTER_PROPAGATOR('REPADMIN');

exec dbms_repcat.create_snapshot_repgroup('SNPGRP', 'BANCO_DB_LINK');

Pronto, a replicação já está pronta.
Agora é só inserir as tabelas a serem replicadas.

No site MASTER:
exec dbms_repcat.create_master_repobject('SISTEMA1','TABELA1','TABLE', 
gname=>'SNPGRP');
exec dbms_repcat.generate_replication_support('SISTEMA1','TABELA1','TABLE');
CREATE MATERIALIZED VIEW LOG ON SISTEMA1.TABELA1 Tablespace 
NOME_DA_TABLESPACE storage (initial 128k) WITH PRIMARY KEY;

No site SNAP:
CREATE SNAPSHOT SISTEMA1.TABELA1_SNAP Nologging TABLESPACE 
TABLESPACE_DE_DADOS STORAGE (INITIAL 128K ) USING INDEX TABLESPACE 
TABLESPACE_DE_INDICES STORAGE (INITIAL 128K ) REFRESH FAST WITH PRIMARY 
KEY FOR UPDATE AS SELECT * FROM [EMAIL PROTECTED]
/

- Incluir o novo snapshot no grupo de snapshot updatable
exec DBMS_REPCAT.CREATE_SNAPSHOT_REPOBJECT (gname =>'"SNPGRP"',sname 
=>'SISTEMA1',oname =>'TABELA1_SNAP',type =>'SNAPSHOT',min_communication 
=>TRUE,gen_objs_owner=>'REPADMIN');

- Incluir a tabela no grupo refresh
exec 
DBMS_REFRESH.ADD(NAME=>'SISTEMA1.REFRESH_15S',LIST=>'SISTEMA1.TABELA1_SNAP',lax=>TRUE);


E era isso!
Testa aí e nos avisa!

Abraços!

ESTUDO escreveu:

> Thiago
>
> Vc etm algum documento?
>
> obrigada
>
> Cris
>   ----- Original Message -----
>   From: Thiago Lazzarotto
>   To: oracle_br@yahoogrupos.com.br
>   Sent: Wednesday, August 02, 2006 10:56 AM
>   Subject: Re: [oracle_br] replocação de dados
>
>
>   Olá Cris.
>   Aqui usamos o Oracle 8.1.7.4 Standard e a replicação funciona. Somente
>   na forma de SNAPSHOT LOG.
>   Replicação Multi-Master apenas no Enterprise.
>
>   Abraços.
>   Thiago.
>
>   ESTUDO escreveu:
>
>   > Bom Dia
>   >
>   > Alguem poderia me informar se a versão standard do 9i suporta
>   > replicação de dados?
>   >
>   > Obrigada
>   >
>   > Cris
>   >
>   > [As partes desta mensagem que não continham texto foram removidas]
>   >
>   > 
>
>
>
>
>
>   [As partes desta mensagem que não continham texto foram removidas]
>
>   
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  


-- 

        




[As partes desta mensagem que não continham texto foram removidas]



--------------------------------------------------------------------------------------------------------------------------
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. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a