Tablespace com size 100% gera fragmentação,mito ou verdade?

Dúvidas, dicas e atualizações sobre o Treinamento Oracle Performance Diagnostics & Tuning.
Post Reply
Róli

Tablespace com size 100% gera fragmentação,mito ou verdade?

Post by Róli »

Olá,

Uns dizem que o SIZE dos tablespaces podem ficar a 100%, que devemos cuidar o UTOEXTEND ON NEXT 100M(exemplo), para que não seja muito pequeno para evitar fragmentação, outros dizem que o SIZE do tablespace não pode chegar a 100% porque começa a fragmentar..a final, se o SIZE não pode chegar a 100%, qual a utilidade do MAXSIZE?
A documentação da Oracle defende a utilização de MAXSIZE, mas não deixa claro as questões a cima. Não estamos falando de tamanho de tablespace em si, que já entraria a questão de restore no RMAN.

A fragmentação, tão citada, ocorre em que momento se tratando de crescimento de tablespace?

Tablespace ExtMgment SegMgment MaxSize(MB) Size(MB) Used(MB) Free(MB) FreeOfMax(MB) Used(%) ! UsedOfMax(%) !
------------------------- --------- --------- ------------ -------- -------- -------- ------------- ---------- - ------------ -
ABSMOVD LOCAL AUTO 65536 5997 5649 348 59887 95 * 9
ABSVALD LOCAL AUTO 65536 32392 29968 2424 35568 93 * 46
ABSVALDI LOCAL AUTO 60000 21774 20571 1203 39429 95 * 35
ACESDATA LOCAL AUTO 32768 2977 2753 224 30015 93 * 9

Desde já, obrigada.

portilho
Site Admin
Posts: 502
Joined: Wed May 29, 2013 8:51 am

Re: Tablespace com size 100% gera fragmentação,mito ou verdade?

Post by portilho »

Existem tantos mitos de fragmentação, que acho que passam a utiliza-los mais como proteções inconscientes para preferências administrativas já estabelecidas.

São as fragmentações que falamos no Treinamento, das páginas 109 a 114.

Este efeito que você cita não é bem fragmentação, mas sim espaços livres não contíguos, o que pode te levar a desperdício de espaço.

O crescimento automático do DATAFILE só será utilizado se falar espaço livre nele para a inserção de dados (um um novo ou existente EXTENT), seja no meio dele, seja no final dele, certo? Então, um DATAFILE que cresce com AUTO sempre chegará a 100%, antes de crescer.
Se o AUTO for menor, nada muda, só terá que ser feito mais vezes, para alocar a mesma quantidade de dado novo.

O que eu tenho forte dúvida é se esta situação pode causar problema de desempenho. Afinal, se um dado é logicamente contíguo (uma tabela), já não quer dizer que seja fisicamente contíguo (no disco rígido). Então, se o dado estiver em locais diferentes do DATAFILE, você não tem um novo problema.

A única coisa que pode eliminar este mito é um teste. Quais seriam os parâmetros?

HenriqueBst

Re: Tablespace com size 100% gera fragmentação,mito ou verdade?

Post by HenriqueBst »

Estou analisando alguns segmentos candidados a uma desfragmentacao, e dentro desse estudo percebi que minha tabela tem extents de tamanho diversos, com qtdes diversas de blocos, essa tabela tem 1.5Gb e 225 extents:

EXTENT_ID BLOCKS BLOCK_ID
---------- ---------- ----------
0 8 2335017
1 8 652769
2 8 653489
. . .
. . .
. . .
222 1024 92297
223 8192 388361
224 8192 3506449


Isso é um problema, ...o ideal seriam ser uniformes, todos extents com mesmo tamanho ? isso ajudaria a ter events de I/O mais rapidos ?
Obrigado :D !

portilho
Site Admin
Posts: 502
Joined: Wed May 29, 2013 8:51 am

Re: Tablespace com size 100% gera fragmentação,mito ou verdade?

Post by portilho »

O propósito do ASSM (criação automática de Extents com possíveis tamanhos diferentes) é minimizar automaticamente a contenção quando muitas (e pequenas) transações estão ocupadas inserindo dados em uma mesma tabela, concorrentemente.
O problema que encontrei com Extents de tamanho fixo (UNIFORM) é quando isto me leva ter muitos EXTENTS (milhares). Isto sim causou lentidão, em diversos tipos de operação diferentes.
Com ASSM, dificilmente você terá Extents demais. Sem ASSM, você terá que conhecer seus dados.

Fiz um teste a respeito, segue em anexo a planilha com os resultados. Verá que operações de Full Table Scan e Fast Index Scan são especialmente prejudicadas.
Attachments
TesteExtents.zip
(9.64 KiB) Downloaded 357 times

HenriqueBst

Re: Tablespace com size 100% gera fragmentação,mito ou verdade?

Post by HenriqueBst »

Mas existe alguma métrica que possamos usar, para ter uma idéia do que proporcionalmente são muitos extends.. por exemplo: uma tabela com 1.5Gb tendo 255 extends, é muito ? .. e se ela tivesse 100, 500 ?

Obrigado.

portilho
Site Admin
Posts: 502
Joined: Wed May 29, 2013 8:51 am

Re: Tablespace com size 100% gera fragmentação,mito ou verdade?

Post by portilho »

Não conheço uma regra, mas só tive este problema com EXTENT de tamanho fixo, e quando eles chegaram a dezenas de milhares.
Abaixo de mil, certamente não se preocupe com eles.

Post Reply