Pular para o conteúdo
  • Este tópico contém 5 respostas, 4 vozes e foi atualizado pela última vez 17 anos, 8 meses atrás por Rodrigo Almeida.
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #82255
    Anônimo

      OI,

      Tenho 3 base de dados + 1 de referencia. O numero de tabelas em cada uma delas é cerca de 125. Apos cada actualização na base de dados de referencia a informação é disponibilizada para as 3 base de dados clientes. O que preciso é de um processo que me permita obter o checksum por tabela da base de dados de referencia, que depois corra em cada uma das base de dados clientes e me verifique se o checksum é o mesmo. Alguem tem ideias ? soluções ? ou algo parecido ?

      #82259
      Ishii
      Participante

        Morpheus,

        Acho que a melhor maneira seria utilizar uma procedure acessando as tabelas dos outros bancos com o Database Link.

        []s Ishii

        #82260
        Anônimo

          Ishii, como faço isso eu nas versões acima da 9i tenho um procedimento que usa o dbms_crypto.hash no entanto na versao 8.1.5 ou 8.1.7 esse recurso não esta disponivel….

          #82275
          Rodrigo Almeida
          Participante

            Morpheus,

            Você está usando MD4, MD5, AES ou SH1 para fazer o checksum entre as bases?

            No 8i isso ainda era pouco utilizado e senão me engano o valor de criptografia era de 64 ou 128 Bits e trabalhava somente com MD4, MD5 e SH1. Com relação ao 8i terá limitações.

            Abraços, 😉

            #82279
            CleitonHanzen
            Participante

              Opá…
              Desculpe me intrometer, mas essa disponibilização para as demais bases ocorre de qual forma? Vc faz um export e um import no outro lado? Ou é a aplicação que faz essa disponibilização?

              De qualquer forma, creio que validar isso via “checksum” de tabelas não é ideal. Tanto no export/import, quanto via insert da aplicação existe como você checar se deu erro. Nos últimos casos, se vc quiser que SEMPRE os dados sejam iguais, crie uma materialized view e faça atualização constante (de 15 em 15 ou de 30 em 30 minutos).

              Ficar criando procedure, function, trigger e o krl…o a quatro pra validar isso, é gambi, e das fortes… 😉

              #82288
              Rodrigo Almeida
              Participante

                Cleiton,

                Eu “ACHO” que no caso do Morpheus, ele faz o checksum para saber o tamanho da tabela para medidas de segurança, por algum tipo de rotina da empresa, ou alguma camada de segurança que existe no ambiente. Tipo um C4A. Ainda mais que é para entregar dados a clientes.

                Eu acho que é isso.

                Mas, caso contrário, estou contigo. Uma Materialzied View poderia fazer essa função sem muita complicação, SE as bases clientes se comunicarem com a sua base de origem.

                Abraços,

              Visualizando 6 posts - 1 até 6 (de 6 do total)
              • Você deve fazer login para responder a este tópico.