Pular para o conteúdo
  • Este tópico contém 7 respostas, 3 vozes e foi atualizado pela última vez 14 anos, 1 mês atrás por diegolenhardt.
Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #102587
    mpvargas
    Participante

      Caros amigos,
      Precisei atualizar uma tabela na base de testes e acabei ficando com algumas dúvidas:

      1) É possível utilizando o impdp, importar a tabela com outro nome, no caso eu tenho a tabela TAB1 na base e estou querendo que o import nao substitua essa tabela e sim crie uma tabela TAB2… ou tenho que renomear?

      2) Posso executar queries dentro do impdp, tipo, importar a tabela com uma clausula where?

      3) Aproveitando o tópico, é possível saber informações sobre a tabela, tipo data da criação, último acesso, etc

      Obrigado pela ajuda

      #102593
      rman
      Participante

        @mpvargas

        1- Apartir do Oracle 11g existe o parâmetro REMAP_TABLE do impdp. No Oracle 10g esse parâmetro não existe no impdp, mas da pra ser contornado, renomeie a tabela em questão no banco e importe a tabela com o nome original mesmo.

        2- Sim, é possível através do parâmetro QUERY do impdp.

        3- A view DBA_OBJECTS/ALL_OBJECTS possui a data de criação do objeto.

        #102597
        mpvargas
        Participante

          Fala @rman…

          1- Apartir do Oracle 11g existe o parâmetro REMAP_TABLE do impdp. No Oracle 10g esse parâmetro não existe no impdp, mas da pra ser contornado, renomeie a tabela em questão no banco e importe a tabela com o nome original mesmo.

          R: OK… uso o 10g então vou ter que renomear antes mesmo

          2- Sim, é possível através do parâmetro QUERY do impdp.

          R: Estou tentando utilizar o comando abaixo
          impdp user/teste@dbteste dumpfile=teste.dmp directory=export query=TAB999:”WHERE FILIAL=’01′”

          mas não está executando a query, no caso, está importando a tabela inteira… o que deve estar errado?

          3- A view DBA_OBJECTS/ALL_OBJECTS possui a data de criação do objeto.

          R: Fiz uma verificação nessa view mas fiquei com uma dúvida… chequei os campos CREATED, LAST_DDL_TIME e TIMESTAMP, fiz um update numa tabela, não deveria ter sido atualizado o campo LAST_DDL_TIME?

          #102598
          rman
          Participante

            @mpvargas

            1- Dependendo a situação você pode utilizar o REMAP_SCHEMA. Desta forma você não alteraria o banco original.

            2- A sintaxe do impdp está correta, da erro ao executar ? Você verificou o conteudo importado e a tabela veio inteira ?

            3- LAST_DDL_TIME creio eu que guarda a data a última alteração de DDL
            (Data definition language), o UPDATE é DML (Data manipulation language). Faça um teste, adicione uma nova coluna a tabela e verifique o LAST_DDL_TIME.

            #102601
            mpvargas
            Participante

              1- Dependendo a situação você pode utilizar o REMAP_SCHEMA. Desta forma você não alteraria o banco original.

              R: Blz, uma boa idéia, não tinha pensado nesse detalhe…

              2- A sintaxe do impdp está correta, da erro ao executar ? Você verificou o conteudo importado e a tabela veio inteira ?

              R: nesse exemplo que passei deveria ter importado +ou- 70.000 linhas, mas importou a tabela inteira, no caso mais de 600.000 linhas
              vou fazer outros testes e retorno… se você tiver, você poderia passar algum exemplo de algum que você tenha feito?

              3- LAST_DDL_TIME creio eu que guarda a data a última alteração de DDL
              (Data definition language), o UPDATE é DML (Data manipulation language). Faça um teste, adicione uma nova coluna a tabela e verifique o LAST_DDL_TIME.

              R: Bem observado, vou fazer outro teste… de qualquer forma achei uma explicação legal no Blog do Eduardo Legatti
              http://eduardolegatti.blogspot.com/2011 … views.html

              #102602
              rman
              Participante

                @mpvargas

                2- Infelizmente não tive oportunidade de utilizar o parâmetro QUERY. geralmente utilizo o parâmetro SCHEMAS, nunca precisei voltar parcialmente uma tabela.

                #102606
                mpvargas
                Participante

                  VALEU @rman
                  fiz uns testes com o parametro QUERY e deu certo
                  foram alguns detalhes na sintaxe

                  Obrigado pela ajuda

                  #102608
                  diegolenhardt
                  Participante

                    1- Dependendo a situação você pode utilizar o REMAP_SCHEMA. Desta forma você não alteraria o banco original.

                    R: Blz, uma boa idéia, não tinha pensado nesse detalhe…

                    Voce pode renomear a tabela no banco de destino, assim ele vai importar normal..

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