Pular para o conteúdo
Visualizando 1 post (de 1 do total)
  • Autor
    Posts
  • #74117
    Anônimo

      Pessoal,

      Estou criando um processo de replicacao no oracle na versao 8174x utilizando view materializada e ocorre o seguinte:

      Crio uma tabela de testes.
      Crio uma visao materializada baseada nesta tabela.
      Crio o log da visao materializada.
      Efetuo algumas tranzacoes na tabela fonte com temporizador de refresh.

      O problema ocorre da seguinte maneira:
      Quando a view ? carregada pelo processo de refresh, o log assossiado a ela tambem deveria ser atualizado. isto nao esta ocorrendo nesta versao do oracle.

      O script do teste ? o seguinte
      ===================

      DROP TABLE TB CASCADE CONSTRAINTS;
      DROP MATERIALIZED VIEW VW;

      — CRIA OS OBJETOS
      CREATE TABLE TB(CD NUMBER(3) PRIMARY KEY, DS VARCHAR2(10));

      CREATE MATERIALIZED VIEW VW
      BUILD IMMEDIATE
      REFRESH COMPLETE
      START WITH SYSDATE
      NEXT sysdate + 2/1440
      ENABLE QUERY REWRITE
      AS
      SELECT * FROM TB
      /

      CREATE MATERIALIZED VIEW LOG ON VW WITH PRIMARY KEY;

      INSERT INTO TB VALUES (1, ‘teste’);
      INSERT INTO TB VALUES (2, ‘teste’);
      INSERT INTO TB VALUES (3, ‘teste’);
      INSERT INTO TB VALUES (4, ‘teste’);
      INSERT INTO TB VALUES (5, ‘teste’);
      COMMIT;

      — Apos dois minutos execute estas select ai entao vera que a vw foi atualizada mas o log de tranzacoes nao.

      SELECT * FROM TB
      UNION
      SELECT * FROM VW
      ;

      SELECT * FROM mlog$_VW;

      ===============================================

      Realizai testes com o mesmo script no Oracle 9i e tudo deu certo.

      Gostaria de saber se alguem ja passou por isso, e como foi resolvido na versao Oracle 8174x

    Visualizando 1 post (de 1 do total)
    • Você deve fazer login para responder a este tópico.
    plugins premium WordPress