Ola,
Estou envolvido em um estudo de sizing para determinado ambiente, e me deparei com algo interessante que os Dbas Informix devem estar atentos, que e o limite de alocacao de paginas por particao.
Para explicar o problema, a referencia logica de um registro e feita atraves do rowid, no caso do Informix o rowid tem o seguinte format:
0xPPPPPPSS
P=Indica a Pagina logica dentro do extent
S=Indica o slot onde a linha se encontra dentro na pagina
O rowid 257 quando transformamos para hexadecimal temos 0x101, isto indica pagina logica 1 e slot 01, dentro do slot temos duas informacoes:
Offset=E o endereco do byte onde a linha se encontra na pagina
len=indica a quantidade de bytes que a linha possui
Portanto o Informix para acessar o registros se posiciona na pagina logica, vai ate o slot e le o byte onde inicia a linha e faz a leituras de N (Len) bytes a partir desta posicao.
E onde esta o problema citado no inicio do post?
Bom, neste formato enderecamos uma quantidade limitada de paginas , por exemplo:
0xFFFFFF = 16777215
Digamos que o tamanho da pagina logica do dbspace 'e de 2K, teremos 2*16777215 = 33.554.430 de paginas ou seja 32GB, se quisermos expandir o limite para 128GB temos que criar um dbspace com tamanho de pagina de 8K.
Após esta alteração caso o limite seja atingido ai a solução e particionar a tabela mesmo.
Lembre-se de nunca fazer isto:
select max(rowid) from tabela
Isto nao ira retornar o ultimo registros inserido!!
Saludos
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.