Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #104178
    Ronin
    Participante

      Boa tarde,
      Pessoal, estou com um problema no tempo de atualização de uma DDL, a tabela + índice tem em torno de 8GB:
      ALTER TABLE SIGA.SF2010 ADD ( F2_EVENFLG_teste CHAR(1) DEFAULT ‘ ‘ NOT NULL ,F2_IDCCE_teste CHAR(54) DEFAULT ‘ ‘ NOT NULL )

      A mesma em ambiente de produção, tem como configuração de disco baseado em storage, asm e oracle 10g e ambiente de homologação, oracle 11g ,disco sata e utilização de filesystem.

      Em ambiente de produção dura aproximadamente 30 minutos e em homologação menos de 1 minuto.
      Fiz o teste de io, criando em ambos ambientes um datafile de 10Gb alocando-o todo automaticamente, e em produção levou 80 segundos e em homologação 2 minutos e 20 segundos.

      Estou sem saber o q fazer, inclusive já fiz rebuild dos índices e shrink da tabela e nada!!

      Obrigado

      #104179
      rman
      Participante

        @Ronin

        Eu sei que o q eu vou dizer não vai te ajudar em nada para esse problema, mas é interessante você ter o ambiente de homologação o mais próximo possível do ambiente de produção, o ideal é ser idêntico, mas nem sempre o custo é viável, mas a versão do Oracle creio que é o mínimo. Digo isso por que se não a ideia de ter o ambiente de homologação vai por água abaixo. O ambiente de homologação é justamente para você testar, prever possíveis erros, mensurar o tempo e etc… Uma solução pode funcionar no 11g e no 10g não ficar tão bom assim, ou nem funcionar… Bom, você mesmo já presenciou isso neste relato.

        #104182
        Fábio Prado
        Participante

          helper, o tablespace de dados e indices (se estiverem separados) do Bd de producao que demora 30 minutos está configurando com gerenciamento local e auto-incremento? se sim, de qto é o auto-incremento?

          #104187
          Ronin
          Participante

            Bom dia, os objetos de dados e índices estão separados em respectivas tablespaces, o auto-incremento é de 1024MB em ambos ambientes. Estranho, levantei um novo servidor bem parecido com o de homologação 11g, porém instalei o 10g, e a ddl também está lentasso!! achho q vou instalar nessa mesma máquina do 10g o 11g para tentar entender melhor!!

            #104188
            marlontk
            Participante

              Boa tarde,
              Como seu ambiente de produção e Homologação são ambientes diferentes, seu problema que na verdade não é um problema deve estar relacionado as versões principalmente diferença de features que cada versão possui.

              Como ja comentado ter esses ambientes com versões diferentes não é o ideal mas vamos a explicação.

              Produção
              10G
              30 Minutos para o alter table
              80 segundos para criar um datafile de 10G

              Homologação
              11G
              < 1 minuto para o alter table
              = 2 minutos e 20 segundas para criar u datafile de 10G

              1ª a criação do datafile é uma operação mais física do que lógica já que neste processo vai depender muito mais dos recursos físicos(Hard Disk,Raid,ASM….) do que Software.
              Logo teoricamente seu ambiente de produção deve ter um hardware mais robusto do que o de homologação por isso o tempo da produção foi melhor.

              2º o "problema " do alter table
              o Seu comando alter table esta escrito com uma simples opção "DEFAULT ' ' NOT NULL".
              Esta opção faz que todos os registros existentes na table recebam o valor ' ' nesta coluna recém criada, isto acontece para versões de banco de dados anteriores ao 11G.
              Uma solução seria retirar esta opção default ' ' not null e realizar esta operação em um segundo momento ou aos poucos na produção.

              Na versões 11GR1 e R2 existe a feature "1.2.9.2 Enhanced ADD COLUMN Functionality" que descreve o que esta acontecendo no teu caso.

              Esta feature altera os metadados(definições) do banco sobre esta table.coluna e não todos as linhas contidas nesta table como nas versões antigas.

              Segue link da documentação da Oracle 11GR1 que foi a primeira release 11G.
              http://docs.oracle.com/cd/B28359_01/ser … apter1.htm

              Link com um exemplo
              http://tonguc.wordpress.com/2008/09/28/ … tionality/

              Pela tua descrição teu problema teria a haver com esta feature existente a partir da 11GR1

              #104199
              Ronin
              Participante

                Boa tarde,

                       Pessoal, conforme o nosso amigo marlontk postou, realmente constatei a eficiência no ambiente 11G !!
                

                Ufa!!

                Muito obrigado!!

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