Pular para o conteúdo
  • Este tópico contém 4 respostas, 2 vozes e foi atualizado pela última vez 12 anos, 5 meses atrás por Fábio Prado.
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #104946
    Thiago Vilhena
    Participante

      Pessoal..
      Tenho um Select.. que deveria executar em segundos e está executnado em 1 hora.. Teitei realizar um shrink na subpartiton com problema.. mas me deparei com a seguinte questão


      15:50:25 SQL> ALTER TABLE LF.LF_NF_SAIDA_IMPOSTO_ISS ENABLE ROW MOVEMENT;

      Table altered.

      Elapsed: 00:00:00.19
      15:50:30 SQL> ALTER TABLE LF.LF_NF_SAIDA_IMPOSTO_ISS MODIFY SUBPARTITION IMP_ISS_2012_11_OUTROS_37 SHRINK SPACE CASCADE;
      ALTER TABLE LF.LF_NF_SAIDA_IMPOSTO_ISS MODIFY SUBPARTITION IMP_ISS_2012_11_OUTROS_37 SHRINK SPACE CASCADE
      *
      ERROR at line 1:
      ORA-10631: SHRINK clause should not be specified for this object

      Isso poderia acontecer se a subpartição estivese comprimida..
      Como essa tabela possui dados desde 2004, a mesma encontra-se particionada por mês .
      O que acontece as partiçoes de 2010 para trás estão com compress mas a que estou querendo realizar o shrink está normal.
      em outras tabelas no mesmo caso e funcionou normalmente..

      alguma ideia de onde posso estar errando?

      #104947
      Fábio Prado
      Participante

        @

        Não é possível executar o shrink em tabelas particionadas. Essa é uma das restrições do comando. Se precisar de mais informações sobre o SHRINK, consulte: http://www.fabioprado.net/2012/10/compa … nk-em.html

        []s

        Fábio Prado
        http://www.fabioprado.net

        #104948
        Fábio Prado
        Participante

          @Thiago_est,

          Onde escrevi tabela particionada, o correto (que eu queria dizer) é compactada. No teu caso o problema deve ser outro. Talvez vc tenha índice baseado em função nessa tabela e isso seria outra restrição!
          

          []s

          Fábio Prado
          http://www.fabioprado.net

          #104950
          Thiago Vilhena
          Participante

            [quote=”fbifabio”:3t1243ls]@Thiago_est,

            Onde escrevi tabela particionada, o correto (que eu queria dizer) é compactada. No teu caso o problema deve ser outro. Talvez vc tenha índice baseado em função nessa tabela e isso seria outra restrição!
            

            []s

            Fábio Prado
            http://www.fabioprado.net[/quote%5D

            @fbifabio

            Você está completo de razão eu tinha me esquecido que existia index sob function nessa tabela fui verificar e realmente tinha.. quanto ao compress, eu trabalho com a estratégia de deixar comprimido os dados dos anos que passaram. Assim eu ganho em area e conssigo manipular sem problemas as partitions e subpartitions do ano vigente..
            O meu maior problema é que tenho um SQL que quando ele pega dados de uma subpartition especifica.. ele começa a demorar 1 hora, coisa que pra outra subpartition ele vai em milesegundos.
            quando executo ele fica pulando entre dois eventos “db file sequential read”,”db file parallel read”..
            e demora a rodar quando eu coloco um hint /+ parallel (a,2)/ ele volta para os milesegundos.

            Andei lendo pela net e vi alguns falando que isso poderia ser problema de disco lento. to pensando em realocar essa subpartition em uma outra tablespace que pertence há um outro disk_group pra fazer um teste e ve se realmente vai fazer alguma diferença.

            Abç

            #104951
            Fábio Prado
            Participante

              @Thiago_est,

              Legal a sua estratégia de compactação, mas vale ressaltar que até mesmo para a partição vigente vc pode melhorar o desempenho de instruções SELECT e DELETE, com compactação. Até os eventos “db file sequential read”,”db file parallel read” poderiam reduzir! Neste caso, vc só teria problemas com muitos UPDATEs e INSERTs concorrentes, e isso deve ser avaliado antes de qq alteração!

              Tente descobrir se as consultas estão usando índices ou estão fazendo FTS, gerando um plano de execução dos TOP SQL. No seu caso, me parece que estão sendo utilizados índices nas consultas e estes índices não estão sendo eficientes.

              Tudo isso que eu comentei aqui, eu ensino no meus treinamentos de Performance Tuning em BD Oracle 10G/11G (http://www.fabioprado.net/p/performance … abase.html).

              []s

              Fábio Prado
              http://www.fabioprado.net

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