Problema (Resumo)
Você executa o UPDATE STATISTICS e ele falha com os erros 567 e 179. Os erros indicam e que a instância do IDS não tem dbspace temporário suficiente no disco para os arquivos temporários criados durante o sort. No entanto, o espaço ocupado pela tabela no disco é muito menor do que os dados de classificação relatados pelo plano de consulta.
Sintoma:
O comando UPDATE STATISTICS falha retornando os seguinte erros:
567: Cannot write sorted rows.
179: ISAM error: no free disk space for sort
Causa:
Verifique para determinar se você tem uma coluna ou colunas de tipo de dados VARCHAR. O espaço ocupado por dados VARCHAR no disco em um dbspace regular é apenas o espaço necessário para os dados armazenados, Ou o comprimento mínimo do tipo de dados se ele for declarado. No entanto, os dados são expandidos para seu tamanho máximo quando lidos de tablespace no disco dentro da memória, e esse tamanho é mantido quando os arquivos de sort temporários são gravados em dbspaces temporários. Por exemplo, uma sequência de dois caracteres em um campo varchar (255) ocupará apenas vários bytes no disco. No entanto, quando os dados são lidos na memória, ele vai ocupar o comprimento do campo completo, neste caso a memória requer 255 bytes para armazenar os dados.
Os dados de ordenação reportados no plano de consulta baseiam-se no comprimento total dos dados. No exemplo que segue, a tabela ocupa 31.9 MB no disco e a instância foi configurada com 80MB de espaço temporário, no entanto o UPDATE STATISTICS falhou com os erros 567 e 179. O otimizador calculou a classificação dos dados em 127.5 MB. A tabela tinha um campo VARCHAR(255) e dois campos CHAR(10). Os comprimentos de sequencia no campo VARCHAR variaram de um a seis bytes, ocupando assim muito menos do que no máximo de 255 bytes no disco.
Table: informix.tab1
Mode: HIGH
Number of Bins: 267 Bin size 5000
Sort data 127.5 MB Sort memory granted 15.0 MB
Estimated number of table scans 3
PASS #1 col1
PASS #2 col2
PASS #3 col3
Resolvendo o problema
- aumentar a memória disponível para o SORT. Isso também deve diminuir o tempo necessário para que as estatísticas de atualização sejam concluídas.
- aumentar o dbspace temporário.
- Altere as estatísticas de atualização para que classifique menos dados.Por exemplo, alterne entre os UPDATE STATISTCS HIGH e UPDATE STATISTICS MEDIUM.
- Diminua o comprimento máximo do tipo de dados VARCHAR.
Nenhum comentário:
Postar um comentário