Pular para o conteúdo
Visualizando 14 posts - 1 até 14 (de 14 do total)
  • Autor
    Posts
  • #90128
    braza
    Participante

      olá,

      Estou fazendo um exp de uma tabela chamada “historico_pag” do esquema “piramide” da minha base de producao.

      segue o comando exp:

      exp userid=piramide/**** file=histpag.dmp tables=(piramide.historico_pag)

      Quando eu importo para o esquema “ab”, também na base de producao, não consigo habilitar a chave primária dessa tabela, pois o imp leva 4 registros repetidos.

      segue o comando imp:

      imp userid=piramide/**** file=histpag.dmp fromuser=piramide touser=ab

      Não sei como esses 4 registros se repetiram. Gostaria de uma ajuda para resolver esse problema.

      OBS:
      Versão do banco: Oracle8i Enterprise Edition Release 8.1.7.0.0

      As duas tabelas “piramide.historico_pag” e “ab.historico_pag” tem a mesma quantidade de registros. 294.262.

      Quando procuro por linhas repetidas na tabela “piramide.historico_pag” não encontro. Quando procuro na “ab.historico_pag” encontro 4 registros repetidos.

      verifico os campos cheve com o seguinte select:

      select
      *
      from historico_pag hp
      where (hp.filial,hp.fornec,hp.titulo,hp.numparcela) in
      (
      select
      hp.filial,hp.fornec,hp.titulo,hp.numparcela
      from historico_pag hp
      group by hp.filial,hp.fornec,hp.titulo,hp.numparcela
      having count(*) > 1
      )

      Como o GPO poderia me ajudar nesta tarefa ???

      grato,

      braza.

      #90131
      Marcio68Almeida
      Participante

        Você tentou criar um índice não único nesta tabela com as colunas que fazem parte da PK para fazer uma nova avaliação ?
        Você rodou estatísticas nesta tabela importada ?
        A sua PK na outra tabela está válida ?

        #90133
        vieri
        Participante

          Crie a tabela (DDL) na munheca,
          antes de importar a mesma…

          e inclua o parâmetro ignore=y no imp.

          ai quando ele for importar os dados ele irá rejeitar as linhas
          que não obederem a PK, ficando a tabela somente com registros limpos.

          tenta ai e posta o result.

          Deverá aparacer algo desse tipo:

          > > >IMP-00019: row rejected due to ORACLE error 1
          > > >IMP-00003: ORACLE error 1 encountered
          > > >ORA-00001: unique constraint (TEST.TEST_UK) violated
          > > >Column 1 1
          > > >Column 2 1
          > > >Column 3 1

          #90135
          braza
          Participante

            Respondendo ao colega “Marcio68Almeida”.

            A minha pk na outra tabela está válida sim.
            Tentei criar um índice único também e não consegui.
            Mas as estatísticas da minha tabela está desatualizada sim.

            Vou fazer um analyze nesta tabela e tentar o import novamente se não der certo vou tentar seguir a dica do nosso colega “vieri” que é criar a tabela na “munheca” e pedir para ignorar as duplicidades de registro.

            obrigado pela ajuda.

            braza.

            Logo mais posto o resultado.

            #90137
            Marcio68Almeida
            Participante

              [quote=”braza”:3df5ykv6]Tentei criar um índice único também e não consegui.

              Logo mais posto o resultado.[/quote]

              A idéia é criar um índice não único e ver se aparecem as duplicidades ao fazer a consulta que você indicou…

              #90139
              braza
              Participante

                ok.

                Tinha entendido errado.

                Estou terminando um novo import agora. Quando terminar tento criar o indice NAO UNICO.

                blz.

                #90145
                braza
                Participante

                  ola pessoal,

                  Fiz o analyze na tabela importada e fiz novamente o import e não consegui ativar a chave primária.

                  Estou agora criando um índice não unico para rever os registros duplicados.

                  Mas o problema vai ser o seguinte, eu vou precisar mandar um dump desse meu esquema para uma outra empresa fazer uma análise num software que a gente roda aqui na empresa. Se esse dump estiver com essa duplicidade nessa tabela, eles não vão aceitar e vão nos pedir um dump “correto”.

                  o GPO tem alguma idéia do pôrque isso aconteceu ???

                  grato,

                  braza.

                  #90146
                  braza
                  Participante

                    olá pessoal,

                    Crieu o indice não único na tabela importada e verifiquei novamente a duplicidade.

                    O mesmo select indentificou um registro no esquema “piramide” (esquema origem) e dois registros no esquema “ab” (esquema destino).

                    Vou tentar a dica do colega “vieri” agora.

                    Mas o que eu preciso mesmo e gerar um dump para enviar para outra empresa. e este dump tem que está sem as duplicidades.

                    qualquer linha de raciocínio é válida.

                    grato,

                    braza.

                    #90147
                    Ishii
                    Participante

                      Olá,

                      Lembro-me vagamente na versão 8.1.7 alguns casos com esse “mistério” da PK duplicada. Nunca realmente consegui resolver, apenas exclui as linhas e depois ativei a PK. Sempre ficou a dúvida sobre em algum momento as PKs estarem desabilitadas mas não consegui comprovar isso nunca. Tive quase o mesmo cenário, criando uma base de testes uma tabela tinha 2 linhas em branco (sem nenhum dado) e mesmo que eu fizesse o import em outros owners isso permanecia, porém na Base de Produção nunca apareceu… na Migração de Servidor tivemos que excluir manualmente mesmo…

                      []s Ishii

                      #90148
                      braza
                      Participante

                        ok Ishii.

                        Valeu mesmo.

                        Um depoimento de uma pessoa que já passou por esse problema já me deixa mais tranquilo.

                        Vou continuar tentando.

                        Qualquer resultado posto no GPO.

                        Estou tentando agora a dica do colega “vieri”

                        grato,

                        braza.

                        #90149
                        vieri
                        Participante

                          cria a tabela na mão inclusive com as constraints!!!
                          depois faça o import com constraint=n , ignore=y.

                          Na hora de importar os dados , ele irá rejeitar registros duplicados por causa da PK !!

                          entendeu ??

                          #90150
                          vieri
                          Participante

                            se ele não rejeitar irá cair na situação que o ishi relatou…

                            ai você desabilita,deleta e habilita

                            #90151
                            Ishii
                            Participante

                              Olá,

                              Na versão 8.1.7 aliás, aconteceram os casos mais estranhos que já vi:

                              Teve um dia que todas as triggers estavam desabilitadas depois do servidor reiniciar e ninguém ter feito nada. Quando rodava uma atualização de objetos do Oracle (procedures, triggers, views, packages) algumas vezes no spool ficava a mensagem Procedure created mas a procedure não foi atualizada com o código novo e isso não ocorria com o mesmo objeto, variava de objeto para objeto, o POG neste caso era rodar os scripts duas vezes. Mas o melhor mesmo foi quando o user owner do Objeto não conseguia mais fazer o replace no objeto, eu tinha um owner com uma Procedure XPTO e se eu conectasse com esse mesmo owner e rodasse o script de atualização da procedure XPTO que já existia, retornava mensagem: Insuficient Privileges!!!! mesmo com o create, alter any procedure ou até a role DBA…o POG era conectar como system e colocar o owner para a criação (replace) do objeto…

                              Como faz um tempo que os clientes estão no 9i, não me lembrava mais desses tipos de problemas…

                              []s Ishii

                              #90152
                              braza
                              Participante

                                Ok Vieri.

                                To fazendo o import agora.

                                Mas só posto o resultado amanhã. Porque vou ter que sair agora.

                                Mas valeu mesmo pessoal.

                                grato,

                                braza.

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