- Este tópico contém 12 respostas, 3 vozes e foi atualizado pela última vez 18 anos, 9 meses atrás por
djdigao.
-
AutorPosts
-
19 de junho de 2007 às 4:07 pm #79753
djdigao
ParticipanteBom dia pessoal, alguem teria um material ou poderia me explicar como eu poderia fazer uma replicação com uma MV LO. Estou precisando fazer aqui na minha empresa e estou com dificuldade de montar esse tipo de View, o tipo de replicação que eu quero fazer é Síncrona, ou seja, só vai e não precisa voltar.
Ja agradeço a todos por me ajudarem. Abraço 🙂
19 de junho de 2007 às 5:55 pm #79754vieri
ParticipanteVoce deverá criar uma visão materializada
segue exemplo de criação:CREATE MATERIALIZED VIEW sdc_dw_rep.mv_dw_atividades_economicas –owner.nome
REFRESH complete — tpo do refresh dos dados
START WITH sysdate — 1° refresh
NEXT NEXT_DAY(TRUNC(SYSDATE +1) + 5/24, ‘SATURDAY’)
intervalos de tempo entre os jobd de refresh
WITH rowid
AS
SELECT * FROM — seu select SDC_DW.ATIVIDADES_ECONOMICAS@DBL_SDC_DW_DDC — seu dblinkAo criar a materialized view o oracle irá criar um job que ira atualiza-la de acordo com o intervalo definido no job NEXT NEXT_DAY(TRUNC(SYSDATE +1) + 5/24, ‘SATURDAY’) nesse caso será todo dia as 5 da manhã.
não esqueça de criar o dblink,usuario de conexão,e grants
metados da visão dba_mviews:
qualquer duvida to ai brother!!
abraços19 de junho de 2007 às 6:19 pm #79756djdigao
ParticipanteOpa, até ai eu entendi o esquema, mais me fala uma coisa teria como ser assim, quando o registro for inserido na tabela a replicação ser feita na hora da inserção? Eu teria que usar uma trigger para executar a View?
19 de junho de 2007 às 6:27 pm #79758djdigao
ParticipanteOutra coisa na banco de destino vai precisar criar as mesmas VM?
19 de junho de 2007 às 6:30 pm #79759Marcio68Almeida
Participante[quote=”djdigao”:2avgjv6c]Outra coisa na banco de destino vai precisar criar as mesmas VM?[/quote]
As views materializadas são criadas no destino…19 de junho de 2007 às 6:36 pm #79761djdigao
ParticipanteHummm, entendi elas fazem o select no banco de produção atravez do link? É isso? E como elas inserem os dados nas tabelas do banco de replicação no caso o de destino?
Desculpem mais sou novato ainda no oracle rssr. 🙂 😳19 de junho de 2007 às 6:52 pm #79762Marcio68Almeida
ParticipanteSim, elas fazem o select no banco origem.
Não fazem insert em tabela, elas copiam os dados da origem para a View Materializada destino. Os dados anteriores são removidos.
É possível colocar até mesmo índices em View Materializada, mas ela continua não sendo uma tabela.19 de junho de 2007 às 7:03 pm #79763djdigao
Participantehummm, entendi. E como eu teria que fazer para esses registros que estão nas views entrarem nas tabelas de um schema por exemplo?
19 de junho de 2007 às 7:40 pm #79764Marcio68Almeida
ParticipanteA View Materializada existe justamente para que não sejam criadas tabelas. O que exatamente você quer fazer ?
19 de junho de 2007 às 7:50 pm #79767vieri
Participantecrie uma trigger que toda vez que a tabela for alterada,
execute um refresh da materialized view:ex :
execute dbms_mview.refresh( ‘OWNER.MATERIALIZEDVIEW’);
caso seja mto alterada, faça uma trigger que faça inserts em uma tabela destino. Que no caso naum seria uma mv.
19 de junho de 2007 às 8:01 pm #79768djdigao
ParticipanteEntão, o que eu quero fazer é o seguinte, eu tenho 2 servidores um de produção e um outro que quero montar para replicação, a intenção para fazer isso é que se o de produção der algum problema basta eu colocar o de replicação no lugar dele até o de produção voltar ao normal, por isso eu precisava de replicar em tabelas iguais as que estão no de produção. Tem como fazer isso com essas views?
19 de junho de 2007 às 8:07 pm #79769Marcio68Almeida
ParticipanteEntão você quer outra coisa totalmente diferente…
Você quer um banco em stand-by, quando a produção cair o outro assume…
Você pode usar o RMAN para isso…20 de junho de 2007 às 4:24 pm #79784djdigao
ParticipanteAchei esse artigo e é exatamente o que estou querendo fazer, só q não entendi uma coisa eu estou querendo fazer a replicação só da parte lógica do banco que pelo que vi na parte 2 do artigo da para fazer tranquilo mais não entendi a configuração do listener ele aponta para o mesmo IP, ou seja, para a mesma máquina e queria que a replicação fosse para outra máquina não para a mesma com outra base. É possível eu só teria que colocar o IP da outra máquina? Ou só funciona para a mesma máquina?
http://www.imasters.com.br/artigo/5535/oracle/data_guard_na_versao_10g_release_2_102_-_parte_01/
http://www.imasters.com.br/artigo/5931/bancodedados/data_guard_na_versao_10g_release_2_102_-_parte_ii/
-
AutorPosts
- Você deve fazer login para responder a este tópico.